<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      金木編程

      公眾號:金木編程

      導航

      Angular 產品開發(fā)中 OnPush 策略最佳實踐

      背景
      在Angular產品開發(fā)中,隨著功能的增多,項目的性能會變慢。其中一個重要原因就是每次model數據改變時,都會觸發(fā)大量組件的變更檢測。為了解決問題,我們可以應用Onpush策略。

      方案
      本文參考了大量理論資料,并結合實際項目提出了應用OnPush策略的最佳實踐,供讀者參考。

      最佳實踐

      1. 盡量在所有組件中應用OnPush策略。
      https://ionic.io/enterprise-guide/angular
      2. 進行變更檢測一定要有原因,不要隨便進行變更檢測。
      https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4
      https://www.learnfk.com/question/angular/41364386.html
      3. 對一個大型Angular項目應用OnPush策略時,應該先從葉子節(jié)點開始,保證一切工作正常后,再逐級向上應用OnPush策略,直到根節(jié)點組件。
      https://stackoverflow.com/questions/52979543/should-i-always-use-changedetectionstrategy-onpush
      4. 沒有input參數的組件,也可以應用OnPush策略。
      https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/cdk/overflow/overflow-container.component.ts https://git.advent.com/projects/TAM/repos/tamalenextgen2/browse/tamaleweb/src/app/widgets/select-window/select-window.component.ts
      5. 與值類型input參數不同,引用類型input參數需要為它創(chuàng)建一個新的對象,才能觸發(fā)OnPush變更檢測。
      https://zhuanlan.zhihu.com/p/96486260 https://git.advent.com/projects/TAM/repos/tamalenextgen2/browse/tamaleweb/src/app/widgets/html-container/html-container.component.ts https://git.advent.com/projects/TAM/repos/tamalenextgen2/browse/tamaleweb/src/app/widgets/entity-dropdown-item
      6. 如果一個組件僅僅依賴于它的input屬性,并且input屬性是observable,那么應該使用async管道來標注該組件需要進行變更檢測。
      https://zhuanlan.zhihu.com/p/96486260 https://git.advent.com/projects/TAM/repos/tamalenextgen2/browse/tamaleweb/src/app/widgets/smart-icon/smart-icon.component.ts
      7. 為了防止變更檢測錯誤,最好使用不可變對象(immutable objects)和列表(lists)作為input參數在來構建OnPush策略應用程序。
      https://mokkapps.de/blog/the-last-guide-for-angular-change-detection-you-will-ever-need/ https://git.advent.com/projects/TAM/repos/tamalenextgen2/browse/tamaleweb/src/app/widgets/timeline/timeline.component.ts
      8. 為了提高性能,可以從 Angular 更改檢測周期中分離組件及其子組件。 為此,我們可以使用 ChangeDetectorRef.detach() 方法。
      https://timdeschryver.dev/blog/help-angular-to-make-your-application-faster#detach-components-from-the-change-detection
      9. 確保從包括 XHR 調用、Timer 和 Event 在內的每個方法中調用 detectChanges 方法。 可以假設 detectChanges 方法負責實際的更改檢測。
      https://medium.com/ngconf/simplified-angular-change-detection-e74809ff804d
      10. 可以采用lighthouse來記錄應用OnPush策略后web頁面性能提升
      https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk?hl=zh-cn

      OnPush案例
      1. NG-ZORRO
      https://github.com/NG-ZORRO/ng-zorro-antd

       

       2.Angular Material

      https://github.com/angular/components/tree/master/src/material
      Internationalized and accessible components for everyone. Well tested to ensure performance and reliability.

      posted on 2022-08-30 22:03  金木雜談  閱讀(91)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 人人妻人人澡人人爽曰本| 国产午夜精品一区二区三区漫画 | 久热这里有精品视频播放| 疯狂的欧美乱大交| 一区二区亚洲人妻av| 饶阳县| 年日韩激情国产自偷亚洲| 日本熟妇XXXX潮喷视频| 99久久亚洲综合精品成人网| 少妇人妻偷人精品免费| 重口SM一区二区三区视频| 狠狠躁夜夜躁人人爽天天5| 国产免费福利网站| 无码少妇一区二区| 国产黄色一区二区三区四区 | 国产精品丝袜亚洲熟女| 伊人春色激情综合激情网| 国产成人av大片大片| 久久亚洲精品人成综合网| 国产av人人夜夜澡人人爽麻豆| 国产精品论一区二区三区| 亚洲av午夜成人片| 国产性一交一乱一伦一色一情| a级免费视频| 欧洲尺码日本尺码专线美国又| 乱人伦人妻系列| 久久久久久毛片免费播放| 91亚洲国产成人久久精品| 亚洲精品成人片在线观看精品字幕| 日韩人妻不卡一区二区三区| 娇妻玩4p被三个男人伺候| 在线观看成人av天堂不卡| 2020年最新国产精品正在播放| 国产精品午夜福利资源| 色综合久久综合香蕉色老大| 2019国产精品青青草原| 成人做受120秒试看试看视频| av无码小缝喷白浆在线观看| 202丰满熟女妇大| 韩国福利片在线观看播放| 午夜福利国产精品视频|