Ember.js 1.0.0-rc6发布


Ember.js 1.0 RC6 发布,可以在官方网站builds.emberjs.com下载。本次发布主要有个大的更新:

  • 路由器更新
  • Ember组件

路由更新

最大的修改就是路由器更新(或“路由整容”),围绕两个方面的主要问题:第一是基于URL的转换与transitionTo的语义不一致。第二是异步支持不够好,使得很难在路由入口的地方实现一些禁止和延时的操作,比如身份验证和异步代码加载。

Ember现在统一了URL改变和transitionTo的语义,并且采用了Promise来增强异步行为。

此外,路由的转换被提升到最高级别,并且为其添加了新的钩子,可以实现禁止或者修饰转换:

willTransition:无论什么时候一个转换将发生时将触发该钩子。 beforeModel/model/afterModel:这些钩子在异步验证期间被触发。

最后,还有一个error事件,当无论什么时候,如果出现拒绝的承诺或者在beforeModel/model/afterModel中有错误被抛出都会出发该事件。

更多的关于路由新特性的介绍,请参看:

Ember组件

另外一个重要的改变就是Ember组件,其采用了Web组件的推动创建高层次的可重用的页面元素目标。

Ember组件由一个模板和一个视图构成,其封装了模板的属性的访问和操作。所有外部构建的引用通过传递给视图的上下文信息来处理。组件可以通过自定义子类来实现。

Ember组件命名惯例:

1)模板名以'components/'开头; 2)组件名称必须包含'-'(这与Web组件标准保持一致,可以避免与包裹HTML元素的内置控件发生冲突)。例如,一个组件可能被命名为'radio-button'。它的模板就是'components/radio-button',在其他的模板中用{{radio-button}}调用。


博客评论基于Disqus