最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular5.0.0新特性

 更新時(shí)間:2017年11月02日 14:27:43   作者:迷惘卻堅(jiān)定  
Angular5.0.0是一款非常優(yōu)秀的前端JS框架,已經(jīng)被用于google多款產(chǎn)品當(dāng)中,這篇文章主要介紹了Angular5.0.0新特性,需要的朋友可以參考下

文章來自官網(wǎng)部分翻譯

https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced

Angular5.0.0版本已經(jīng)正式發(fā)布

總結(jié)一下v5.0.0帶來的新變化都有哪些。

1.構(gòu)建優(yōu)化

  5.0版本默認(rèn)采用CLI構(gòu)建和打包。構(gòu)建優(yōu)化器是包含在CLI里面的一個(gè)工具,通過對(duì)你的應(yīng)用程序更加語義化的理解可以使得你的打包程序(bundle)更小。

構(gòu)建優(yōu)化器有兩個(gè)主要工作。

第一,我們可以將應(yīng)用程序的一部分標(biāo)記為純應(yīng)用(pure),改進(jìn)了現(xiàn)有工具提供的搖樹優(yōu)化,刪除了應(yīng)用中其它不需要的部分。

第二,從你的應(yīng)用程序在運(yùn)行時(shí)刪除裝飾符代碼(decorators),裝飾(decorators)是由編譯器使用的,而在運(yùn)行時(shí)并不需要可以被刪除。這些工作減少了生成的JavaScript bundles的大小,并增加了你的用戶應(yīng)用程序的啟動(dòng)速度。

2.服務(wù)端狀態(tài)轉(zhuǎn)換和DOM支持

  有了這個(gè)支持,可以讓應(yīng)用程序在服務(wù)器端和客戶端版之間共享狀態(tài)更容易。

Angular Universal是一個(gè)幫助開發(fā)者實(shí)現(xiàn)SSR的開源項(xiàng)目,通過在服務(wù)端渲染

Angular應(yīng)用程序,然后在客戶端引導(dǎo)啟動(dòng)程序并生成HTML,由此更好的支持那些對(duì)javascript不太友好的化境來提高應(yīng)用程序性能。

5.0版本中,Angular開發(fā)團(tuán)隊(duì)添加了ServerTransferStateModule(與之對(duì)應(yīng)的BrowserTransferStateModule),這個(gè)模塊允許你在服務(wù)端生成模塊信息并傳輸?shù)娇蛻舳?,不需要在客戶端重?fù)創(chuàng)建。這一點(diǎn)在通過HTTP獲取數(shù)據(jù)并展示時(shí)非常有用。通過服務(wù)端狀態(tài)轉(zhuǎn)移,客戶端不需要在發(fā)送第二個(gè)HTTP數(shù)據(jù)請(qǐng)求,狀態(tài)轉(zhuǎn)移的API文檔將在未來幾周內(nèi)發(fā)布。

此處另一個(gè)改變是AngularUniversal團(tuán)隊(duì)添加了Domino渲染工具,Domino的加入意味著我們?cè)诜?wù)器端上下文中將可以支持更多的DOM操作,改進(jìn)了對(duì)第三方JS和組件庫的支持。

3.編譯器改進(jìn)

  改進(jìn)了Angular編譯器來支持增量編譯,重新構(gòu)建變得更快,特別是對(duì)生產(chǎn)環(huán)境的構(gòu)建和AOT編譯,增強(qiáng)的裝飾器可以通過更精細(xì)化的去除空格來減小產(chǎn)生的包.

改進(jìn)后的AOT編譯的性能大幅度,提升可以節(jié)省約95%的構(gòu)建時(shí)間,40s可以提升至2s完成一次構(gòu)建。

Preserve Whitespace

通過編譯器,模板開發(fā)中的制表符、換行符、空格等可以原樣的保留下來,并提供選項(xiàng)可以自選是否使用Preserve Whitespace來保留這些東西。


也可以在tsconfig.json設(shè)置作用到全局


注:組件級(jí)別的選項(xiàng)會(huì)覆蓋應(yīng)用程序級(jí)別的設(shè)置。

增強(qiáng)的裝飾符支持

裝飾符降低了在使用useValue、useFactory、data對(duì)lambda表達(dá)式的要求,開發(fā)者也可以使用一個(gè)lamdba表示來代替一個(gè)已定義的命名函數(shù),也就意味著你可以不事先在*.d.ts中聲明而直接執(zhí)行代碼。


去掉表達(dá)式方式

4.國(guó)際化號(hào)碼、日期和貨幣管道

  Angular5中已經(jīng)建立了新的號(hào)碼,日期和貨幣管道,增加了跨瀏覽器的標(biāo)準(zhǔn)化實(shí)現(xiàn),消除國(guó)際化在不同環(huán)境中的差異。
在5.0中管道可以使用我們自己的實(shí)現(xiàn),可以在任何地方實(shí)現(xiàn)本地化的支持和配置。

V4 V5之間管道差異對(duì)比
https://docs.google.com/spreadsheets/d/12iygt-_cakNP1VO7MV9g4lq9NsxVWG4tSfc98HpHb0k/edit#gid=0

5.StaticInjector取代ReflectiveInjector依賴注入器

  為了更多的減少polyfills,5.0中使用了StaticInjector注入器來替換原有的ReflectiveInjector注入器,這種注入器不再里來與ReflectPolyfill,可以大幅減少應(yīng)用程序體積

在4.x中,依賴注入器一共有兩種,即Injector的抽象類子類:

1._NullInjector (該類的實(shí)例用于表示空的注入器)

2.ReflectiveInjector (表示一個(gè)依賴注入容器,用于實(shí)例化對(duì)象和解析依賴)

之前提供依賴注入方式:ReflectiveInjector.resolveAndCreate(providers);5.0中方式:Injector.create(providers);

6.Zone執(zhí)行速度的提升

  5.0中默認(rèn)提供的zones已經(jīng)優(yōu)化過,速度大幅提升,并且在應(yīng)用程序中繞過zonee區(qū)域更加關(guān)于應(yīng)用程序的性能。
繞過zone引導(dǎo)啟動(dòng)應(yīng)用程序的方式:

platformBrowserDynamic().bootstrapModule(AppModule,{ngZone:'noop'}).then( ref => {} );

7.exportAs多命名支持

  5.0中提供了組件/指令的多命名支持,在對(duì)用戶不修改代碼情況下進(jìn)行組件的遷移操作等非常有用,將一個(gè)組件導(dǎo)出多個(gè)名字,可以讓組件已一個(gè)新名字來使用而達(dá)到不破壞現(xiàn)有代碼的目的。

8.HttpClient

  在4.3中HttpClient模塊被封裝在@angular/common中,新的HttpClient被封裝在@angular/common/http中,更新Http模塊后,需要使用HttpClientModule替換原有HttpModule,并在使用http服務(wù)時(shí),可以去掉map(res=>res.json())的調(diào)用,新模塊中已經(jīng)不再需要這么寫了。

9.CLI v1.5

  Angular CLI v1.5版本中已經(jīng)添加了對(duì)5.0版本的支持,后期將會(huì)把v5.0.0作為CLI的默認(rèn)版本。這個(gè)版本中已經(jīng)默認(rèn)開啟了構(gòu)建優(yōu)化,所以開發(fā)者可以直接感受到更小的js打包優(yōu)化帶來的收益。同時(shí)也更新了.tsconfig將更嚴(yán)格的遵循TypeScript標(biāo)準(zhǔn),

10.Angular Forms adds updateOn Blur / Submit

  可以使用blur/submit來進(jìn)行事件更新,而不用每個(gè)input都寫一個(gè)事件了。

Template Driven Forms
Before
<input name="firstName" ngModel>
After
<input name="firstName" ngModel [ngModelOptions]="{updateOn: 'blur'}">
or
<form [ngFormOptions]="{updateOn: 'submit'}">
Reactive Forms
Before
new FormGroup(value);
new FormControl(value, [], [myValidator])
After
new FormGroup(value, {updateOn: 'blur'}));
new FormControl(value, {updateOn: 'blur', asyncValidators: [myValidator]})
asyncValidators可以不再是作為一個(gè)參數(shù)傳遞 而是直接作用到表單上了。

11.RxJS 5.5

  支持V5.2+ 5.5在bundle上更加優(yōu)化了

12.New Router Lifecycle Events

  GuardsCheckStart
  ChildActivationStart
  ActivationStart
  GuardsCheckEnd
  ResolveStart
  ResolveEnd
  ActivationEnd
  ChildActivationEnd

總結(jié)

以上所述是小編給大家介紹的Angular5.0.0新特性,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:

相關(guān)文章

  • Android Studio升級(jí)到3.0后遇到的坑

    Android Studio升級(jí)到3.0后遇到的坑

    自從谷歌發(fā)布Android Studio 3.0版本后,一直心向往之,終于抽時(shí)間做了下升級(jí)處理,現(xiàn)在把升級(jí)過程中遇到的一些問題以及解決方案分享給大家,希望對(duì)大家能給有事幫助
    2017-11-11
  • Android取消EditText自動(dòng)獲取焦點(diǎn)默認(rèn)行為

    Android取消EditText自動(dòng)獲取焦點(diǎn)默認(rèn)行為

    在項(xiàng)目中,一進(jìn)入一個(gè)頁面, EditText默認(rèn)就會(huì)自動(dòng)獲取焦點(diǎn),很是郁悶,Android 如何讓EditText不自動(dòng)獲取焦點(diǎn)?于是搜集整理一番,曬出來和大家分享,希望對(duì)你們有所幫助
    2012-12-12
  • Android Retrofit2網(wǎng)路編程實(shí)現(xiàn)方法詳解

    Android Retrofit2網(wǎng)路編程實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Android Retrofit2網(wǎng)路編程實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Android實(shí)現(xiàn)文件的分割和組裝

    Android實(shí)現(xiàn)文件的分割和組裝

    這篇文章主要介紹了Android實(shí)現(xiàn)文件的分割和組裝,針對(duì)UDP大數(shù)據(jù)包的分割傳輸與組裝有著非常實(shí)用的價(jià)值,需要的朋友可以參考下
    2014-09-09
  • Android RecyclerView實(shí)現(xiàn)下拉刷新和上拉加載

    Android RecyclerView實(shí)現(xiàn)下拉刷新和上拉加載

    這篇文章主要介紹了Android RecyclerView實(shí)現(xiàn)下拉刷新和上拉加載的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android解析JSON數(shù)據(jù)的方法分析

    Android解析JSON數(shù)據(jù)的方法分析

    這篇文章主要介紹了Android解析JSON數(shù)據(jù)的方法,結(jié)合實(shí)例形式演示了Android解析json格式數(shù)據(jù)的原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Android組件之服務(wù)的詳解

    Android組件之服務(wù)的詳解

    這篇文章主要詳細(xì)介紹了Android組件之一的服務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • arcgis android之定位功能的示例代碼

    arcgis android之定位功能的示例代碼

    這篇文章主要介紹了arcgis android之定位功能的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android程序打開和對(duì)輸入法的操作(打開/關(guān)閉)

    Android程序打開和對(duì)輸入法的操作(打開/關(guān)閉)

    整理了一下Android下對(duì)輸入法的操作:打開輸入法窗口、關(guān)閉出入法窗口、如果輸入法打開則關(guān)閉,如果沒打開則打開、獲取輸入法打開的狀態(tài)
    2013-05-05
  • Flutter路由fluro引入配置和使用的具體方法

    Flutter路由fluro引入配置和使用的具體方法

    Flutter本身提供了路由機(jī)制,本文主要介紹了Flutter fluro配置使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論

梅州市| 炉霍县| 包头市| 昆明市| 精河县| 井陉县| 泽州县| 禄丰县| 庆城县| 武宣县| 大连市| 郁南县| 永嘉县| 分宜县| 广汉市| 开平市| 都江堰市| 青铜峡市| 宜都市| 太保市| 武平县| 永修县| 定安县| 界首市| 松潘县| 兴城市| 康平县| 高淳县| 额尔古纳市| 开阳县| 饶阳县| 博罗县| 陆川县| 定结县| 曲阳县| 日土县| 陆河县| 宁乡县| 赤峰市| 芜湖市| 大名县|