Angular發(fā)布1.5正式版,專注于向Angular 2的過渡
2016-02-18 10:27:15 來源:David Iffland ,譯者 邵思華 評論:0 點擊:
Angular團隊最近發(fā)布了Angular 1.5的正式版,該版本實現(xiàn)了一次重大的升級,它讓仍在使用1.X版本的開發(fā)者將能夠更容易地過渡到Angular 2的開發(fā)。
Pete Bacon Darwin在此次發(fā)布聲明的博客文章中寫道,這次發(fā)布的目的是“改進Angular 2的升級路徑。我們在這次發(fā)布中引入了一些新的特性,讓開發(fā)者編寫的Angular 1應用更接近于在Angular 2中應用的結(jié)構(gòu)?!?/p>
此次發(fā)布中,新的module.component()輔助方法是向Angular 2進行過渡的最大變更。通過使用該方法,開發(fā)者就不必再遵循傳統(tǒng)的directive定義對象風格編寫directive了。如果讀者已經(jīng)熟悉Angular 2的寫法,就應當注意到這種相似性。在文章中,作者通過一個示例表現(xiàn)了定義一個新component的方法:
myModule.component('myComponent', { template: '<h1>Hello {{ $ctrl.getFullName() }}</h1>', bindings: { firstName: '<', lastName: '<' }, controller: function() { this.getFullName = function() { return this.firstName + ' ' + this.lastName; }; }});
在component出現(xiàn)之前,開發(fā)者通常只能使用directive,或是通過對controller的非常規(guī)使用才能夠?qū)崿F(xiàn)某些場景。但這并不是說component就將完全取代directive的作用了,比方說component就無法用于操作DOM,并且所有的component都必須通過自定義的HTML元素激活,而不支持通過元素的屬性觸發(fā)。按照以上方式定義的component可通過以下代碼使用:
<my-component first-name="'Alan'" last-name="'Rickman'"></my-component>
新的component指南對于傳統(tǒng)的directive與component之間的區(qū)別提供了更完整的說明。
- 單向綁定
- 生命周期鉤子
- 綁定至必需的directive
- 支持多個slot的transclusion
- 默認transclusion內(nèi)容
目前在使用1.4版本的開發(fā)者可以閱讀遷移指南以了解遷移時需要進行哪些必要的變更,因為1.5版本中引入了一些破壞性的變更。
在可預見的一段時間內(nèi),1.5版本應當是最大的一次變更了。當InfoQ向Bacon Darwin問及1.X版本將何去何從時,他是這樣回答的:
我們還沒有開始計劃Angular 1的下一次發(fā)布周期。由于離Angular 2正式發(fā)布的日期已經(jīng)越來越近了,因此如果我們繼續(xù)開發(fā)Angular 1,那么也會盡量使它更接近于Angular 2。如果為了實現(xiàn)這一點而必須引入破壞性的變更,那么可以預計1.6版本的出現(xiàn)。同時,我們還將繼續(xù)Angular 1.5.x版本的開發(fā),提供bug的修復以及一些較小的特性。總之,這與我們讓Angular 1.X更易于遷移至Angular 2的目標并不沖突。
新的component router特性應當在本周的稍晚時間發(fā)布。
相關熱詞搜索:angular 1 5 released 語言 & 開發(fā) JavaScript 動態(tài)語言
上一篇:論領域驅(qū)動設計在微服務開發(fā)中的作用
下一篇:谷歌啟動容錯Git管理系統(tǒng)項目:Git Ketch
