欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS 2.0新特性有哪些

 更新時(shí)間:2016年02月18日 09:02:26   投稿:mrr  
本文介紹了其在AtScript、改善依賴入駐、Annotations、路由方案等方面的改變。雖然不知道打破原有是否是件好事,不過由于不向后兼容,我們需要為遷移做好計(jì)劃

AngularJS已然成為Web應(yīng)用開發(fā)世界里最受歡迎的開源JavaScript框架。自成立以來,見證其成功的是驚人的經(jīng)濟(jì)增長以及團(tuán)體的支持與采用——包括個(gè)人開發(fā)者、企業(yè)、社區(qū)。

Angular已經(jīng)變成一個(gè)構(gòu)建復(fù)雜單頁面應(yīng)用的客戶端MVW框架(Model-View-Whatever)。它在應(yīng)用測試和應(yīng)用編寫方面都扮演重要角色,同時(shí)簡化了開發(fā)過程。

Angular目前的版本為1.3,該版本穩(wěn)定,并被谷歌(框架維護(hù)者)用于支持眾多應(yīng)用(據(jù)估計(jì),在谷歌有超過1600個(gè)應(yīng)用運(yùn)行于Angular1.2或1.3)。Angular 2.0正式宣布與去年10月份的尼日利亞會(huì)議上,該版本不會(huì)是一個(gè)復(fù)雜的重大更新。

為什么推出Angular 2.0?

在進(jìn)一步討論Angular 2.0(估計(jì)發(fā)布日期為2015年底)之前,讓我們簡單的思考下新版本背后的哲學(xué)。Angular 2.0開發(fā)始于解決以下問題:

移動(dòng):新的版本將專注于移動(dòng)應(yīng)用的開發(fā)。依據(jù)是它更容易處理桌面方面的事情,一旦挑戰(zhàn)涉及到移動(dòng)(性能、加載時(shí)間),注重這方面會(huì)使問題得到解決。

模塊化:各個(gè)模塊將從Angular的核心中移除,從而獲得更好的性能。這意味著你可以選擇你需要的零件。
現(xiàn)代化:Angular 2.0將把ES6和“常青”現(xiàn)代瀏覽器(自動(dòng)更新到最新版本)作為目標(biāo)。這意味著開發(fā)者可以專注于業(yè)務(wù)領(lǐng)域相關(guān)的代碼。

有哪些爭議?

在尼日利亞會(huì)議上并沒有提及遷移到2.0版本的途徑。同時(shí)也指出跳轉(zhuǎn)到2.0版本將會(huì)打破原有的1.3版本應(yīng)用,不會(huì)有任何的向后兼容性。自從那時(shí)開始開發(fā)者社區(qū)一直充斥著不確定性和猜測,一些開發(fā)者也開始質(zhì)疑是否值得開始一個(gè)新的Angular 1.3項(xiàng)目。

有哪些改變?

AtScript

AtScript是ES6的一個(gè)父集,被用于開發(fā)Angular 2.0。它是由Traceur編譯器(連同ES6)處理來生成ES5代碼并用TypeScript類型語法來生成執(zhí)行時(shí)間的斷言,以此來代替編譯時(shí)的檢查。不過AtScript并不是強(qiáng)制的,你仍然能夠使用純JavaScript/ES5代碼代替AtScript來編寫Angular應(yīng)用。

改善依賴入駐(DI)

依賴注入(Dependency injection )模式的基本思想是客戶類Client不用自己來初始化它所依賴的成員變量IServer,使用一個(gè)獨(dú)立的對象創(chuàng)建IServer適當(dāng)?shù)膶?shí)現(xiàn)類并將它賦值給Client的成員變量。它對模塊開發(fā)與組件隔離特別有益。Angular 2.0將會(huì)解決Angular 1.X所存在的這個(gè)方面的問題。添加丟失的的特性,如child injectors和lifetime/scope控制。

Annotations

AtScript提供工具關(guān)聯(lián)元數(shù)據(jù)和功能。這有助于構(gòu)建提供必要信息到DI庫的對象實(shí)例(檢查相關(guān)元數(shù)據(jù)時(shí)調(diào)用一個(gè)函數(shù)或創(chuàng)建一個(gè)類的實(shí)例)。它還容易通過提供一個(gè)注解重載參數(shù)數(shù)據(jù)。

Child Injectors

一個(gè)child injector繼承了其父類的所有性能服務(wù)。根據(jù)要求,不同類型的對象可以被調(diào)用,并且自動(dòng)覆蓋不同的范圍。

實(shí)例范圍

改進(jìn)的DI庫將以實(shí)例范圍為特性,這在使用Child Injectors和自己的范圍標(biāo)識(shí)符時(shí)變得更加強(qiáng)大。

模板和數(shù)據(jù)綁定

在開發(fā)應(yīng)用中,模板和數(shù)據(jù)綁定將齊頭并進(jìn)。

動(dòng)態(tài)載入

這是當(dāng)前Angular版本所缺失的一個(gè)特性,不過將在Angular 2.0中出現(xiàn)。這將讓開發(fā)者可以在忙碌中添加新的指令或控制器。

模板

在Angular 2.0中,模板編譯過程將是異步的。由于代碼是基于ES6模塊規(guī)格,該模塊加載器將通過簡單的引用組件定義來加載依賴關(guān)系。

指令

在Angular 2.0中將會(huì)出現(xiàn)三種指令:

組件指令——這些將通過JavaScript、HTML或一個(gè)可選的CSS樣式表的封裝邏輯創(chuàng)建可重復(fù)使用的組件。

裝飾指令——這些指令將被用來裝飾元素(例如添加一個(gè)工具提示,或使用ng-show/ng-hide來顯示/隱藏元素)。

模板指令——這些將把HTML改變?yōu)榭芍貜?fù)使用的模板。模板的實(shí)例化以及嵌入到DOM可以完全由指令控制。這樣的例子包括ng-if和ng-repeat。

路由方案

初始的Angular路由是被設(shè)計(jì)用于處理一些簡單的情況。然而,隨著框架的發(fā)展,越來越多的功能被添加。在Angular 2.0中路由已經(jīng)是可擴(kuò)展的,它將包含以下基本功能:

簡單的基于json路由配置;

優(yōu)于配置的可選協(xié)定;

靜態(tài)的。參數(shù)化的路由模式;

URL解析器;

支持查詢字符串;

使用推送狀態(tài)或Hashchange;

導(dǎo)航模型(生成一個(gè)導(dǎo)航UI);

文檔標(biāo)題更新;

404路由處理;

位置服務(wù);

歷史操作。

現(xiàn)在,讓我們來看看那些讓Angular 2.0達(dá)到新高度的路由特性:

子路由

子路由將把應(yīng)用的每個(gè)組件通過為它們提供各自路由的方式轉(zhuǎn)換成更小的應(yīng)用,這將有助于封裝整個(gè)應(yīng)用的特性集。

屏幕激活

這將幫助開發(fā)者通過一組can*回調(diào)更出色的控制導(dǎo)航的生命周期:

canActivate——允許/阻止導(dǎo)航到新的控制器;

activate——響應(yīng)成功到新的控制器的導(dǎo)航;

canDeactivate——允許/阻止導(dǎo)航遠(yuǎn)離舊的控制器;

deactivate——響應(yīng)成功遠(yuǎn)離舊的控制器的導(dǎo)航;

這些回調(diào)將允許開發(fā)者返回Boolean值或一個(gè)命令(為了更低層次上的控制)。

設(shè)計(jì)

所有的這些邏輯都是使用流水線結(jié)構(gòu)構(gòu)建的,使得它非常容易將自己的步驟添加到流水線中或移除默認(rèn)的東西。此外,它的異步特性將允許開發(fā)者使用服務(wù)器請求進(jìn)行身份驗(yàn)證或?yàn)榭刂破骷虞d數(shù)據(jù),不過這還在規(guī)劃中。

日志

Angular 2.0將包含一個(gè)被稱為diary.js的日志服務(wù)——一個(gè)非常有用的特性,測量你在應(yīng)用中時(shí)間花費(fèi)在哪里。

Scope

$scope將從Angular 2.0中移除,取而代之的是ES6類。

結(jié)論

隨著發(fā)布日期的臨近,圍繞Angular 2.0的興奮和聲音將會(huì)加劇。是否打破改變是一件好事?我們無法知道,不過反對者感到緊張是可以理解的,因?yàn)槊黠@缺乏遷移的計(jì)劃。Duang的一下就來了。不過其既然要來了,我們可以做的就是積極的迎接它。

以上內(nèi)容給大家介紹了AngularJS 2.0新特性,希望對大家有所幫助!

相關(guān)文章

  • Angular使用ng-messages與PHP進(jìn)行表單數(shù)據(jù)驗(yàn)證

    Angular使用ng-messages與PHP進(jìn)行表單數(shù)據(jù)驗(yàn)證

    這篇文章主要介紹了Angular使用ng-messages與PHP進(jìn)行表單數(shù)據(jù)驗(yàn)證,ng-messages提供了更方便的表單數(shù)據(jù)驗(yàn)證服務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Angular管道PIPE的介紹與使用方法

    Angular管道PIPE的介紹與使用方法

    這篇文章主要給大家介紹了關(guān)于Angular管道PIPE的相關(guān)資料,管道的作用就是傳輸,并且不同的管道具有不同的作用,需要的朋友可以參考下
    2021-06-06
  • Angular實(shí)現(xiàn)form自動(dòng)布局

    Angular實(shí)現(xiàn)form自動(dòng)布局

    這篇文章主要介紹了Angular實(shí)現(xiàn)form自動(dòng)布局的相關(guān)資料,以代碼片段的形式分析了Angular實(shí)現(xiàn)form自動(dòng)布局的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 深入理解Angularjs中$http.post與$.post

    深入理解Angularjs中$http.post與$.post

    本篇文章主要介紹了深入理解Angularjs中$http.post與$.post ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 微信小程序?qū)崿F(xiàn)左右聯(lián)動(dòng)的實(shí)戰(zhàn)記錄

    微信小程序?qū)崿F(xiàn)左右聯(lián)動(dòng)的實(shí)戰(zhàn)記錄

    聯(lián)動(dòng)菜單是大家在開發(fā)小程序經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)左右聯(lián)動(dòng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Angularjs 根據(jù)一個(gè)select的值去設(shè)置另一個(gè)select的值方法

    Angularjs 根據(jù)一個(gè)select的值去設(shè)置另一個(gè)select的值方法

    今天小編就為大家分享一篇Angularjs 根據(jù)一個(gè)select的值去設(shè)置另一個(gè)select的值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 在Angular中如何監(jiān)聽某個(gè)值的變化

    在Angular中如何監(jiān)聽某個(gè)值的變化

    這篇文章主要介紹了在Angular中如何監(jiān)聽某個(gè)值的變化問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • AngularJS表單驗(yàn)證中級(jí)篇(3)

    AngularJS表單驗(yàn)證中級(jí)篇(3)

    這篇文章主要為大家詳細(xì)介紹了AngularJS表單驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 詳細(xì)解讀AngularJS中的表單驗(yàn)證編程

    詳細(xì)解讀AngularJS中的表單驗(yàn)證編程

    這篇文章主要介紹了詳細(xì)解讀AngularJS中的表單驗(yàn)證編程,AngularJS是一個(gè)非常熱門的JavaScript庫,需要的朋友可以參考下
    2015-06-06
  • Angular2內(nèi)置指令NgFor和NgIf詳解

    Angular2內(nèi)置指令NgFor和NgIf詳解

    Directive的概念在Angular 1.x就存在了,我對它的認(rèn)識(shí)比較模糊,所以直接通過一些例子來說明。Angular提供的內(nèi)置執(zhí)行有很多,這次使用兩個(gè):ngFor、ngIf。
    2016-08-08

最新評(píng)論