写点什么

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

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

关注

评论

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

学术加油站|FLAT,一个轻量且高效的基数估计模型

OceanBase 数据库

查看Spark任务的详细信息

程序员欣宸

大数据 spark 10月月更

自己手写一个redux

helloworld1024fd

JavaScript

python计算机二级 常用函数操作

Python-派大星

10月月更

深入React源码揭开渲染更新流程的面纱

goClient1992

React

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

那些你不知道的炫酷导航交互效果

南城FE

CSS 前端 交互设计 导航 交互

腾讯前端一面必会面试题(边面边更)

loveX001

JavaScript

经常会采坑的javascript原型应试题

loveX001

JavaScript

面试官:说说React-SSR的原理

beifeng1996

React

面试官:你是怎样进行react组件代码复用的

beifeng1996

React

深度分析React源码中的合成事件

goClient1992

React

前端常考手写面试题汇总

helloworld1024fd

JavaScript

云计算基础:云计算运用越来越广泛,我们应该如何去学习云计算

Python-派大星

10月月更

OMS 3.4.0 发布,打造更安全易用的数据迁移体验

OceanBase 数据库

谈谈前端性能优化-面试版

loveX001

JavaScript

人人能读懂redux原理剖析

夏天的味道123

React

关于前端面试你需要知道的知识点

beifeng1996

React

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

react源码分析:组件的创建和更新

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

彻底搞懂React-hook链表构建原理

夏天的味道123

React

数据湖(十六):Structured Streaming实时写入Iceberg

Lansonli

数据湖 10月月更

对Swift中some和any关键字的理解

珲少

从实现一个React到深度理解React框架核心原理

夏天的味道123

React

华为云从入门到实战 | 云服务概述与华为云搭建Web应用

TiAmo

华为 华为云 10月月更

三年经验前端vue面试记录

bb_xiaxia1998

Vue

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

长安链源码分析共识机制1

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