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

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實現(xiàn)的回到頂部指令功能實例

    AngularJS實現(xiàn)的回到頂部指令功能實例

    這篇文章主要介紹了AngularJS實現(xiàn)的回到頂部指令功能,結(jié)合實例形式分析了AngularJS返回到頂部功能的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • Angular2 父子組件通信方式的示例

    Angular2 父子組件通信方式的示例

    本篇文章主要介紹了Angular2 父子組件通信方式的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • AngularJS 仿微信圖片手勢縮放的實例

    AngularJS 仿微信圖片手勢縮放的實例

    這篇文章主要介紹了AngularJS 仿微信圖片手勢縮放的實例的相關(guān)資料,希望大家通過本文實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • 詳解Angular動態(tài)組件

    詳解Angular動態(tài)組件

    本文主要介紹了Angular動態(tài)組件,對此感興趣的同學(xué),可以親自實驗一下。
    2021-05-05
  • AngularJS實現(xiàn)圖片上傳和預(yù)覽功能的方法分析

    AngularJS實現(xiàn)圖片上傳和預(yù)覽功能的方法分析

    這篇文章主要介紹了AngularJS實現(xiàn)圖片上傳和預(yù)覽功能的方法,結(jié)合HTML5實例形式對比分析了AngularJS圖片上傳的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2017-11-11
  • 妙用Angularjs實現(xiàn)表格按指定列排序

    妙用Angularjs實現(xiàn)表格按指定列排序

    使用AngularJS的過濾器,可以很容易的實現(xiàn)在表格中,點擊某一列標(biāo)題進(jìn)行排序,實現(xiàn)代碼也很簡單,下面小編給大家分享angularjs實現(xiàn)表格按指定列排序的實現(xiàn)代碼,需要的的朋友參考下吧
    2017-06-06
  • Angularjs Ng_repeat中實現(xiàn)復(fù)選框選中并顯示不同的樣式方法

    Angularjs Ng_repeat中實現(xiàn)復(fù)選框選中并顯示不同的樣式方法

    今天小編就為大家分享一篇Angularjs Ng_repeat中實現(xiàn)復(fù)選框選中并顯示不同的樣式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • angularjs 緩存的使用詳解

    angularjs 緩存的使用詳解

    這篇文章主要介紹了angularjs 緩存的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Angular跨字段驗證器中如何直接調(diào)用其它獨立的驗證器

    Angular跨字段驗證器中如何直接調(diào)用其它獨立的驗證器

    我們在開發(fā)的時候都會用到表單,那么驗證器就是必不可少的東西,這篇文章主要給大家介紹了關(guān)于在Angular跨字段驗證器中如何直接調(diào)用其它獨立的驗證器的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 詳解使用angular框架離線你的應(yīng)用(pwa指南)

    詳解使用angular框架離線你的應(yīng)用(pwa指南)

    這篇文章主要介紹了詳解使用angular框架離線你的應(yīng)用(pwa指南),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論