QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 2016-01-31
  • 本文字数:1163 字

    阅读完需:约 4 分钟

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.3 2.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 好读者)。

2016-01-31 18:002440
用户头像

发布了 218 篇内容, 共 71.2 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

下一代积木式智能组装编排,集成开发效率10倍提升

华为云开发者联盟

开发 华为云 华为云开发者联盟 DTSE Tech Talk

5月17-19日 上海线下 · CSP直通车训练营 · CST导师亲授【名额有限,先到先得】

ShineScrum

ScrumMaster 敏捷教练认证 上海线下、 Scrum专业认证

前端和大数据怎么选择?

算法的秘密

App原生开发:iOS和Android平台的比较(看这一篇就够了)

天津汇柏科技有限公司

软件开发 APP开发 小程序开发 软件开发定制

如何简化 Kubernetes 出入向流量管理

NGINX开源社区

Kubernetes Ingress Controller NGINX PLUS NGINX Service Mesh mTLS

工作两年涨薪40%,揭秘我的学习之路!

霍格沃兹测试开发学社

当数据遇上代码:程序员的假设检验

数据分析 数学 SLO 概率论

[自研开源] 用Docker部署 MyData v0.7.1

LIEN

开源 数据集成 业务融合 API对接 mydata

Android Input底层机制

江湖修行

android 大前端 移动端 系统源码

利用1688商品详情API:快速获取商品信息的技巧与策略

技术冰糖葫芦

API 接口

mClock调度算法与QoS

算法 存储 Ceph QoS 调度

分享一个能让你的研发效率提升超过20%的工具

华为云开发者联盟

开发 华为云 华为云开发者联盟 华为云CodeArts

测试人生 | 工作两年涨薪40%,揭秘我的学习之路!

测吧(北京)科技有限公司

测试

新学期提效神器汇总!男大女大们准备好了吗?

飞桨PaddlePaddle

百度 BAIDU 百度飞桨 AI应用 飞桨星河社区

MySQL数据库中SQL语句分几类?

小魏写代码

浪潮信息边缘服务器支持英特尔第五代至强处理器

财见

《MySQL是怎样运行的:从根儿上理解 MySQL》PDF

程序员李木子

INSERT...SELECT语句对查询的表加锁吗

GreatSQL

greatsql

Ember.js 2.3的发布带来了重要的变化_JavaScript_James Chesters_InfoQ精选文章