国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
AngularJS學(xué)習(xí)筆記2——AngularJS的初始化

AngularJS學(xué)習(xí)筆記2——AngularJS的初始化

  本文主要介紹AngularJS的自動初始化以及在必要的適合如何手動初始化。


  Angular <script> Tag


     下面通過一小段代碼來介紹推薦的自動初始化過程:

<!doctype html><html xmlns:ng="http://angularjs.org" ng-app><body>     ...     <script src="angular.js"></body></html>
  • 把script標(biāo)簽放在頁面的底部可以縮短應(yīng)用加載的時間,因為這樣的話Html的加載不會被angular.js腳本的加載阻塞。
  • angular-[version].js是具有可讀性的版本,適用于開發(fā)和調(diào)試。
  • angular-[version].min.js是壓縮和混淆后的版本,適用于產(chǎn)品代碼。
  • 如果你想讓angular自動初始化的話,可以在<html>標(biāo)簽中加上ng-app
    <html ng-app></html>
  • 如果要支持IE7的話需要加上id="ng-app"
    <html id="ng-app" ng-app></html>
  • 如果要使用舊版的指令語法(ng:)的話,要支持IE還需要在<html>標(biāo)簽中引入xml的命名空間(因為一些歷史原因,現(xiàn)在已經(jīng)不推薦使用ng:的語法了)
    <html xmlns:ng="http://angularjs.org"></html>

     

  自動初始化(Automatic Initialization)


      在DOMContentLoaded事件觸發(fā)時Angular會執(zhí)行自動初始化過程。這時,Angular會查找ng-app指令,并用它來標(biāo)明整個應(yīng)用的根作用域。如果找到了ng-app指令,Angular會做一下幾件事:

  • 加載和指令(directive)內(nèi)容相關(guān)的模塊(module)
  • 創(chuàng)建一個應(yīng)用“注入器”(injector)
  • 將含有ng-app指令的節(jié)點作為根節(jié)點來編譯DOM。這樣一來,你可以只指定一部分DOM作為Angular應(yīng)用。

 
  手動初始化(Manual Initialization)


     如果你想更多的來控制初始化的過程,你可以手動的執(zhí)行引導(dǎo)程序。比如你需要用到腳本加載器(script loader)或者要在Angular編譯頁面之前加入一些操作的話,你就需要手動的調(diào)用Angular的初始化方法了。例如:

<!doctype html><html xmlns:ng="http://angularjs.org”><body>    Hello{{'World'}}!         <script src="http://code.angularjs.org/angular.js"></script>    <script>          angular.element(document).ready(function(){                   
        angular.module(
'myApp',[]); angular.bootstrap(document,['myApp']); }); </script></body></html> 

     注意:angular.bootstrap函數(shù)簽名如下:

參數(shù)類型說明
elementElement作為Angular應(yīng)用根作用域的DOM元素
modules
(optional)
Array<String|Function|Array>數(shù)組中為所有需要加載的模塊的的名稱,每個模塊的名字需要在此之前定義,Angular不會在運行到這里時自己去定義模塊。

     如果手動調(diào)用初始化函數(shù)的話,代碼的書寫需要遵循以下順序:

  • 等到頁面加載完成后,找到AngularJS的根元素(通常是文檔的根元素)。
  • 調(diào)用angular.bootstrap函數(shù)將模板編譯成可以執(zhí)行的、數(shù)據(jù)雙向綁定的應(yīng)用程序。


     延遲引導(dǎo)(Deferred Bootstrap)


      這個特性使得像Batarang這樣的工具和一些test runner能夠在Angular的引導(dǎo)過程中建立鉤子,在注冊需要注入的依賴的時候可以增加或者替換注入的service,或者mock一些比較重的依賴。當(dāng)angular.bootstrap被調(diào)用時如果window.name中包含前綴NG_DEFER_BOOTSTRAP!,引導(dǎo)過程將會被暫停直到angular.resumeBootstrap()被調(diào)用。angular.resumeBootstrap()可以傳入一個可選的模塊數(shù)組作為參數(shù),這個數(shù)組中的模塊會被加到引導(dǎo)函數(shù)的模塊數(shù)組中一起被初始化。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AngularJs學(xué)習(xí)筆記--bootstrap
在 AngularJS 應(yīng)用中處理單選框和復(fù)選框
AngularJS按需動態(tài)加載template和controller?
AngularJs路由:ngRoute
帶你走近AngularJS
基于AngularJs + Bootstrap + AngularStrap 省市區(qū)聯(lián)動實踐
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服