国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular的Bootstrap(引導)和Compiler(編譯)機制

2019-11-20 09:39:39
字體:
來源:轉載
供稿:網友

在上節簡單介紹了Angular js框架,在這節將繼續Angular的Bootstrap(引導)和Compiler(編譯)機制。

一:Bootstrap:Angular的初始化

1:Angular推薦的自動化初始如下:

<!doctype html><html xmlns:ng="http://angularjs.org" ng-app><body>...<script src="angular.js"></body></html 

利用ngapp標示你需要自動引導應用程序的根節點,一般典型為html tag。在DOMContentLoaded事件觸發Angular會自動尋找ngapp作為應用的根節點,如果找到則會進行如下操作:

1.加載module(模塊)相關directive(指令)。

2.創建應用程序injector(Angular的注入機制).

3.編譯處理ng-app作為根節點的指令。這里允許你自定義選擇DOM節點作為應用根節點。

<!doctype html><html ng-app="optionalModuleName"><body>I can add: {{ + }}.<script src="angular.js"></script></body></html>

2:手動初始化:

如果想對對初始化有更多的控制權,可以采用自定義手動引導方法初始化代替angular的自動初始化。比如你需要在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.bootstrap(document);});</script></body></html>

1.在頁面所有代碼加載完成后,找到html模板根節點(典型為document元素).

2.調用api/angular.bootstrap(angular.bootstrap(element[, modules]))編譯模板使其可執行.

二:Compiler:Angular的編譯

Angular的編譯機制允許開發人員給瀏覽器添加新的Html語法,允許我們添加一些html節點,attribute,甚至創建一些自定義的節點,attribute。Angular把這些行為的擴展成為指令directives.Angular帶來了有用的directive,并允許我們創建特定領域的directive。

1: Compiler處理分為兩個步驟:

1.轉換DOM,收集directive,返回Link(連接)function。

2.合并指令和Scope產生一個活生生的View。scop mode中的任何改變都會通過反應到view中,并來自view的用戶交互也會同步到scope model,并scope是一個單一數據源。

2:指令Directive

Directive是一個會被特殊的html設計編輯處理的行為。其可以被放置在節點的names, attributes, class 上,甚至是html注釋中。下面是Angular自帶的ng-bind的等價寫法:

<span ng-bind="exp"></span><span class="ng-bind: exp;"></span><ng-bind></ng-bind><!-- directive: ng-bind exp 

主站蜘蛛池模板:
郸城县|
新邵县|
乾安县|
柏乡县|
宁强县|
灵台县|
天长市|
玛多县|
防城港市|
太原市|
阿拉善左旗|
建平县|
大安市|
五峰|
牡丹江市|
肥东县|
房产|
靖边县|
全南县|
赞皇县|
九寨沟县|
汶上县|
靖远县|
阳西县|
巍山|
平和县|
微山县|
嵊州市|
沾化县|
恩平市|
长宁县|
梧州市|
邵东县|
南阳市|
宿迁市|
澎湖县|
镇江市|
通山县|
石河子市|
抚松县|
抚松县|