Ember.js 2.3的发布带来了重要的变化

jopen 9年前

Ember.js的开发团队已经发布了Ember 2.3的稳定版本以及2.4的首个beta版本。

Ember.js的开发团队在Ember的博客上 宣布 了这些变化,Ember的贡献者Matthew Beale谦称这次更新是一个“较小的发布”。尽管如此,2.3版本带来了几个重要的变化,这其中包括在最新发布的稳定的版本中使用 Ember FastBoot 的能力。

作为Ember CLI 的插件,Fastboot使开发者可以在服务端上呈现Ember.js应用程序,并将已渲染的HTML呈现在浏览器中提供服务,使客户端无需下载JavaScript资源。由于有了新的测试APIs和Fastboot,Ember团队为Ember.Application对象和Ember.ApplicationInstance对象增加了一个新的visit方法。

由于Fastboot还处于测试阶段,2.3版本是其首次可以用于Ember 发布版本之上的版本。需要指出的是,由于Fastboot的一些限制,它并不支持大多数的jQuery,因此Ember.js的开发团队建议“只有最勇敢的开发者才应该考虑尝试部署它到他们的生产环境上”。

Ember最新发布的稳定版本的另一个新功能是上下文组件的引入,这使得多个组件可以独立地分享数据,但将以灵活的方式被调用。下面的例子是Beale在Ember博客上分享的,{{alert-box}}这个组件生成一个上下文组件,这个上下文组件由alert-box-button组件和onclick属性组成。

根据Beale所述“上下文组件是使用component helper的嵌套格式所创造的,可能会传递到属性和位置参数。上下文组件必须用其路径上的一个 .来调用,除非它们被传递到正在调用的component helper。”

{{! app/templates/components/alert-box.hbs }}  <div class="alert-box">    {{yield (hash      close-button=(component 'alert-box-button' onclick=(action 'close'))    )}}  </div>
{{! app/templates/index.hbs }}  {{#alert-box as |box|}}    Danger, Will Robinson!    <div style="float:right">      {{#box.close-button}}        It's just a plain old meteorite.      {{/box.close-button}}    </div>  {{/alert-box}}

“这个新功能对插件的设计者来说是一个强大的工具,让他们可以生成组件,同时避免让这些有参数的组件成为实际意义上的公用API。” Beale这样说。

目前仍处于beta版本的Ember 2.4向社区承诺,性能改进将优化于新框架特性的开发。用户可以参照Ember 2.32.4 的更新日志来得到发布版本的全部信息。

Ember.js使用MIT许可证发布。InfoQ的读者可以通过它的 GitHub项目 促成Ember.js的进展。

查看英文原文: Ember.js 2.3 Release Brings Significant Changes

感谢邵思华对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 Ember.js 2.3的发布带来了重要的变化 (已满),InfoQ读者交流群(#2) Ember.js 2.3的发布带来了重要的变化 )。

来自: http://www.infoq.com/cn/news/2016/02/Emberjs-23