Ember.js 2.3的發布帶來了重要的變化

jopen 10年前發布 | 6K 次閱讀 Ember.js

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.32.4 的更新日志來得到發布版本的全部信息。

Ember.js使用MIT許可證發布。InfoQ的讀者可以通過它的 GitHub項目 促成Ember.js的進展。

查看英文原文: Ember.js 2.3 Release Brings Significant Changes

感謝邵思華對本文的審校。

給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號: InfoQChina )關注我們,并與我們的編輯和其他讀者朋友交流(歡迎加入InfoQ讀者交流群 Ember.js 2.3的發布帶來了重要的變化 (已滿),InfoQ讀者交流群(#2) Ember.js 2.3的發布帶來了重要的變化 )。

來自: http://www.infoq.com/cn/news/2016/02/Emberjs-23

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!