2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:002770
用户头像

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

关注

评论

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

首次排查 OOM 实录

AI乔治

Java 架构 OOM

斐波那契查找

ilovealt

算法和数据结构

JVM垃圾回收及秒杀系统

天天向上

极客大学架构师训练营

作业-第5周

arcyao

第九周作业

alpha

极客大学架构师训练营

native关键字作用到底是什么?

秦怀杂货店

Java 源码 源码刨析 native

第九周作业

fmouse

极客大学架构师训练营

架构师训练营第 1 期第九周作业

Leo乐

极客大学架构师训练营

微服务手册:分库分表从分析到实践,不再停留只会说分库分表

互联网应用架构

分库分表

架构一期第九周作业

Airs

架构师入门学习感悟五

笑春风

并发编程Bug的源头-原子性

Java架构师迁哥

第八周作业 1

Yangjing

极客大学架构师训练营

第九周总结

alpha

极客大学架构师训练营

架构师训练营第五周作业

丁乐洪

数字货币交易所开发价格,深圳区块链交易所系统APP开发

13530558032

训练营第九周作业 1

仲夏

极客大学架构师训练营

三步法解析Axios源码

执鸢者

大前端 axios

架构师训练营第 1 期第九周总结

Leo乐

极客大学架构师训练营

区块链钱包开发功能与优势,数字货币钱包APP开发

13530558032

极客时间架构师训练营 - 第五期作业

文江

合约API跟单系统开发方案,智能合约跟单软件

13530558032

交易所量化机器人搭建--市值管理机器人

13530558032

极客时间架构师训练营 1 期 - 第 9 周总结

Kaven

第九周总结

fmouse

极客大学架构师训练营

神经网络泛化

计算机与AI

神经网络 学习

Week 9 设计秒杀系统

黄立

架构师第2期第5周作业一

老腊肉

极客大学架构师训练营

极客时间架构师培训 1 期 - 第 9 周作业

Kaven

第8周 作业2

Yangjing

极客大学架构师训练营

性能优化三第九周作业「架构师训练营第 1 期」

天天向善

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