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

AngularJS 執(zhí)行流程詳細(xì)介紹

 更新時間:2016年08月18日 08:58:24   作者:倪闖  
本文詳細(xì)介紹了從頁面開始加載到頁面渲染完畢過程中,AngularJS執(zhí)行了哪些操作,有需要的小伙伴可以參考下

一、啟動階段

        大家應(yīng)該都知道,當(dāng)瀏覽器加載一個HTML頁面時,它會將HMTL頁面先解析成DOM樹,然后逐個加載DOM樹中的每一個元素節(jié)點。我們可以把AngularJS當(dāng)做一個類似jQuery的js庫,我們通過<script>標(biāo)簽引入到HTML中,那么此時Angular就做為一個普通的DOM節(jié)點等待瀏覽器解析,當(dāng)瀏覽器解析到這個節(jié)點時,發(fā)現(xiàn)它是一個js文件,那么瀏覽器會停止解析剩余的DOM節(jié)點,開始執(zhí)行這個js(即angular.js),同時Angular會設(shè)置一個事件監(jiān)聽器來監(jiān)聽瀏覽器的DOMContentLoaded事件。當(dāng)Angular監(jiān)聽到這個事件時,就會啟動Angular應(yīng)用。

        二、初始化階段

        Angular開始啟動后,它會查找ng-app指令,然后初始化一系列必要的組件(即$injector、$compile服務(wù)以及$rootScope),接著重新開始解析DOM樹。

        三、編譯、鏈接

        $compile服務(wù)通過遍歷DOM樹的方式查找有聲明指令的DOM元素。當(dāng)碰到帶有一個或多個指令的DOM元素時,它會排序這些指令(基于指令的priority優(yōu)先級),然后使用$injector服務(wù)查找和收集指令的compile函數(shù)并執(zhí)行它。

        每個節(jié)點的編譯方法運行之后,$compile服務(wù)就會調(diào)用鏈接函數(shù)。這個鏈接函數(shù)為綁定了封閉作用域的指令設(shè)置監(jiān)控。這一行為會創(chuàng)建實時視圖。

        最后,在$compile服務(wù)完成后,AngularJS運行時就準(zhǔn)備好了。

        四、運行階段

        Angular提供了自己的事件循環(huán)。指令自身會注冊事件監(jiān)聽器,因此當(dāng)事件被觸發(fā)時,指令函數(shù)就會運行在AngularJS的$digest循環(huán)中。$digest循環(huán)會等待$watch表達(dá)式列表,當(dāng)檢測到模型變化后,就會調(diào)用$watch函數(shù),然后再次查看$watch列表以確保沒有模型被改變。

        一旦$digest循環(huán)穩(wěn)定下來,并且檢測到?jīng)]有潛在的變化了,執(zhí)行過程就會離開Angular上下文并且通常會回到瀏覽器中,DOM將會被渲染到這里。

        將以上過程的關(guān)鍵步驟繪制成一張圖,如下:

以上就是AngularJS 執(zhí)行流程的詳細(xì)介紹,后續(xù)繼續(xù)整理相關(guān)資料,謝謝大家對本站的支持。

相關(guān)文章

  • AngularJS Toaster使用詳解

    AngularJS Toaster使用詳解

    AngularJS Toaster是一個 AngularJS 提示框.基于angular v1.2.6 及以上和angular-animate.這篇文章主要介紹了AngularJS Toaster使用詳解,需要的朋友可以參考下
    2017-02-02
  • AngularJS中的$parse服務(wù)與$eval服務(wù)用法實例

    AngularJS中的$parse服務(wù)與$eval服務(wù)用法實例

    這篇文章主要介紹了AngularJS中的$parse服務(wù)與$eval服務(wù)用法,結(jié)合實例形式分析了AngularJS中$parse服務(wù)與$eval服務(wù)的功能、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2023-05-05
  • Angular 4依賴注入學(xué)習(xí)教程之ValueProvider的使用(七)

    Angular 4依賴注入學(xué)習(xí)教程之ValueProvider的使用(七)

    這篇文章主要給大家介紹了關(guān)于Angular 4依賴注入之ValueProvider使用的相關(guān)資料,文中介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Angular4具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Angular6 Filter實現(xiàn)頁面搜索的示例代碼

    Angular6 Filter實現(xiàn)頁面搜索的示例代碼

    這篇文章主要介紹了Angular6 Filter實現(xiàn)頁面搜索的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Angular2生命周期鉤子函數(shù)的詳細(xì)介紹

    Angular2生命周期鉤子函數(shù)的詳細(xì)介紹

    這篇文章主要介紹了Angular2生命周期鉤子函數(shù)的詳細(xì)介紹,Angular提供組件生命周期鉤子,可以讓我們更好的開發(fā)Angular應(yīng)用,有興趣的可以了解一下
    2017-07-07
  • angular6.x中ngTemplateOutlet指令的使用示例

    angular6.x中ngTemplateOutlet指令的使用示例

    本篇文章主要介紹了angular6.x中ngTemplateOutlet指令的使用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • angular實現(xiàn)商品篩選功能

    angular實現(xiàn)商品篩選功能

    這篇文章主要為大家詳細(xì)介紹了angular實現(xiàn)商品篩選功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 深入淺析AngularJS中的module(模塊)

    深入淺析AngularJS中的module(模塊)

    我們所說的模塊,是你的AngularJS應(yīng)用程序的一個組成部分,它可以是一個Controller,也可以是一個Service服務(wù),也可以是一個過濾器(Filter),也可以是一個directive(指令)等等…都是屬于一個模塊,本文給大家介紹AngularJS中的module(模塊) ,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Angular實現(xiàn)模版驅(qū)動表單的自定義校驗功能(密碼確認(rèn)為例)

    Angular實現(xiàn)模版驅(qū)動表單的自定義校驗功能(密碼確認(rèn)為例)

    這篇文章主要介紹了Angular實現(xiàn)模版驅(qū)動表單的自定義校驗功能(密碼確認(rèn)為例),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • AngularJS語法詳解(續(xù))

    AngularJS語法詳解(續(xù))

    本文續(xù)上文,接著介紹AngularJS語法,和上文一樣,都是通過示例來向大家分析說明,非常不錯的一篇文章,推薦給大家。
    2015-01-01

最新評論

留坝县| 武义县| 大荔县| 余庆县| 平和县| 乌鲁木齐县| 南城县| 镶黄旗| 揭阳市| 五峰| 康定县| 团风县| 星子县| 肥东县| 湟源县| 松阳县| 德钦县| 西安市| 嵊州市| 靖安县| 临湘市| 日土县| 三明市| 黎川县| 集安市| 股票| 武夷山市| 和林格尔县| 潮州市| 衡阳县| 桂阳县| 长乐市| 铁岭县| 永善县| 治县。| 宁晋县| 平塘县| 定南县| 灵石县| 密山市| 崇左市|