程序员人生 网站导航

开源框架Ember.js迎来1.7.0和1.8 Beta 1更新

栏目:互联网时间:2014-09-18 07:41:08

从最初的SproutCore、Amber.js到现如今的Ember.js,几经更名的Ember.js于近日在其官方博客上宣布同时发布Ember.js 1.7.0正式版和1.8第一个测试版本,屈指算来,从2013年8月发布1.0正式版,一年的时间,Ember.js已经经历了7次主要版本更新,更逐渐发展成为最受开发者喜爱的一大框架。


作为一款开源的JavaScript MVC框架,Ember.js采用了基于字符串的Handlebars模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。更使用自身扩展的类来创建Ember.js对象、数组、字符串、函数,提供大量方法与属性用于操作。每一个Ember.js应用都使用各自的命名空间,以避免发生冲突。

此次更新除了对一些Bug进行修复,Ember.js还带来了一系列的新特性,比如针对查询参数提供URL查询参数API支持,并移除了仅限this.resource嵌入子路由的约束,this.route可以像this.resource那样被嵌入,但不同于this.resource的是,无需再重置子路由namespace:

this.route('foo', function() {
  this.route('bar', function() {
    this.route('baz', function() {
       // uses FooBarBazRoute
       // generates foo.bar.baz.index
       // generates FooBarBazIndexRoute
     });
   });
});

此外,1.7.0还包含了以下重要变化:控制器内容属性变更为来自模型,以减少模型/内容警告,同时还设置了一个永不设置控制器内容,默认设置模型的程序规则;bind-attr中,空数组处理由truthy改为falsy,以使其与if保持一致。

而在1.8 Beta1中,Ember移除了根控制器中对于旧版操作查询的支持,开发者可以直接使用任何相近的操作名称,而无需再检查该名称是否被控制器所使用。并对视图层的内部实现进行了重构,在DOM中移除对于script标记的需求:

<script id="metamorph-1-start" type="text/x-placeholder"></script>
<script id="metamorph-1-end" type="text/x-placeholder"></script>
现在,您还可以进入Ember.js的mobilehub主页进行资源分享和讨论。开发者可直接登陆GitHub下载Ember.js 1.7.0或1.8 Beta 1,想要了解Ember.js更新详情,请查看Ember.js 1.7.0和1.8 Beta 1 ChangeLog

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐