BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 James Chesters 关注 2 他的粉丝 ,译者 刘嘉洋 关注 0 他的粉丝 发布于 2016年2月1日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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向社区承诺,性能改进将优化于新框架特性的开发。用户可以参照Ember2.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读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT