写点什么

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

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

关注

评论

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

Android系统 Bitmap 内存分配原理与优化

vivo互联网技术

android BitMap 内存优化

Pandas高级教程之:plot画图详解

程序那些事

Python 数据分析 程序那些事;

FIL币价格今日行情!FIL币价格最新消息!

区块链 IPFS fil

MySQL的存储引擎

卢卡多多

MySQL 数据库 7月日更

架构实战:模块一学习任务

buoge

架构实战营

想学网络安全,从哪里开始?网络安全的学习路线

小桃

黑客 网络安全 Web 网络安全it路线图

ArrayList源码分析及扩容机制

Ayue、

数据结构 ArrayList

架构实战营 模块一

Cingk

#架构实战营

日志监控ELK搭建

陈靓-哲露

ELK ES

Redisson 分布式锁源码 05:公平锁加锁

程序员小航

redis 源码 分布式锁 redisson redisson 分布式锁

图的应用——最短路径

若尘

数据结构 最短路径

架构实战营第一模块作业

tt

#架构实战营

Go 学习笔记之 常量数据类型

架构精进之路

Go 语言 7月日更

使用 docker 构建时取出构建文件的三种方法

耳东@Erdong

Docker 7月日更 docker build

模块一作业

king

基于标签的实时短视频推荐系统(三十)

Databri_AI

实时计算 推荐系统 标签

【LeetCode】大餐计数Java题解

Albert

算法 LeetCode 7月日更

在线RGB和HEX十六进制颜色互转工具

入门小站

工具

模块七作业

梦寐凯旋

#架构实战营

保姆级:Markdown入门教程

Peter

互联网 写作 markdown 工具软件

实现「双碳」目标 高光谱来助力

云计算

模块一作业

俊杰

#架构实战营

Rust从0到1-智能指针-Box<T>

rust 智能指针 smart pointer box

巧妙!如何检测一个链表是否有环?

实力程序员

模块一作业

秀聪

架构实战营

🏆(不要错过!)【CI/CD技术专题】「Jenkins实战系列」(1)全流程介绍Jenkins环境搭建+基础部署配置(Windows->Linux)

洛神灬殇

jenkins CI/CD 部署 7月日更

每天学习10个实用Javascript代码片段(二)

devpoint

JavaScript set 7月日更

模块一作业:微信业务架构图&学生管理平台

babos

#架构实战营

抖音内测同城圈子:旧瓶装新酒能否获得用户认可

石头IT视角

微信及学生管理系统架构分析

summer

架构实战营

【Flutter 专题】94 初识 MediaQuery

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

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