阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

这一次,带你玩转gRPC框架

海风极客

gRPC Go 语言 三周年连更

Kubernetes 多集群网络方案系列 2 -- Submariner 监控

Se7en

ER 图是什么?这一篇让你搞懂 ER 图!

产品海豚湾

数据分析 产品设计 ER图 产品架构 业务梳理

Mysql常用数据类型及其默认值

will

MySQL varchar 数据类型 tinyint

浅谈你对单例类中使用volatile关键字的理解 | 超级详细,建议收藏

bug菌

volatile volatile原理 三周年征文 三周年连更

网站SEO排名不稳定怎么办?

海拥(haiyong.site)

三周年连更

Claude,一个可以无需魔法访问的ChatGPT

派大星

ChatGPT Claude

如何成为一名数据分析师(二)——统计学之描述性统计

Data 探险实验室

数据分析 数据 数据分析师

是什么影响了MySQL索引B+树的高度?

架构精进之路

MySQL 数据库 三周年连更

软件测试/测试开发/接口测试丨Android 高版本无法抓取 HTTPS

测试人

软件测试 自动化测试 接口测试 测试开发

消息队列常见的使用场景

程序员大彬

Java、 消息队列

挑战 30 天学完 Python:Day7 数据类型 - 集合 set

MegaQi

Python 挑战30天学完Python 三周年连更

Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H

Jerry Wang

超级账本 hyperledger 三周年连更

Java房屋出租系统

timerring

Java

进程与线程、并行和并发有啥区别 | 社区征文

共饮一杯无

Java 多线程 三周年征文

iOS MachineLearning系列(1)——简介

珲少

NoClassDefFoundError 和 ClassNotFoundException 有什么区别 | 社区征文

共饮一杯无

NoClassDefFoundError 三周年连更 ClassNotFoundException

企业过等保不再难,华为云提供一站式安全解决方案

秃头也爱科技

StoreKit:iOS应用内推广其他App

珲少

软件测试/测试开发丨接口测试用例之间参数调用

测试人

软件测试 自动化测试 接口测试 测试开发 测试用例

【云原生】Docker—Dockerfile写法与用法以及dockerfile简介与构建镜像详解【附加实战】

A-刘晨阳

Linux Dockerfile 三周年连更

一文上手文档智能Document Mind

六月的雨在InfoQ

OCR 文档理解 文档转换 三周年连更 Document Mind

为数据安全保驾护航,华为云助力企业快速安全过“等保”

秃头也爱科技

软件测试丨Selenium 自动侦测浏览器版本并下载对应的浏览器驱动

测试人

软件测试 自动化测试 测试开发 selenium

Vue3 响应式语法糖

程序员海军

Vue 3 三周年连更

【坚果派-坚果】OpenHarmony Native开发【一】

坚果

OpenHarmony 三周年连更 napi

软件测试/测试开发丨Python 算法与数据结构面试题

测试人

Python 软件测试 面试题 自动化测试 测试开发

JS字符串的截取出现的bug

格斗家不爱在外太空沉思

JavaScript ES6 三周年连更

架构实战营-模块2-作业

Geek_e948d4

分布式事务的21种武器 - 2

俞凡

架构

To B第六年,腾讯过分温柔

脑极体

腾讯

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