中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular內置provider之$compileProvider詳解

發布時間:2020-08-23 14:20:56 來源:腳本之家 閱讀:137 作者:zc的救贖 欄目:web開發

一、方法概覽

1.directive(name, directiveFactory)

2.component(name, options)

3.aHrefSanitizationWhitelist([regexp]);

4.imgSrcSanitizationWhitelist([regexp]);

5.debugInfoEnabled([enabled]);

6.strictComponentBindingsEnabled([enabled]);

7.onChangesTtl(limit);

8.commentDirectivesEnabled(enabled);

9.cssClassDirectivesEnabled(enabled);

二、方法解釋

1、directive(name, directiveFactory)

使用compiler注冊一個指令

參數:

name:string,指令的名稱。

directiveFactory:function,指令構造工廠函數。

return:

返回自身,以供鏈式調用。

2、component(name, options)

使用compiler注冊一個組件,組件是一種特殊的指令,它自包含了UI,并且總是默認使用獨立作用域和restrict: 'E'。組件的定義是簡單的,options是一個包含了一系列屬性的對象,并且總是強制使用最好的實踐,例如controllerAS:$ctrl。

參數:

name:組件的名稱。

options:一個對象,包含以下可選的屬性。

controller:string|function,指令的控制器,字符串代表一個被注入到該模塊的控制器的名稱。

controllerAS:string,控制器的一個引用,默認是'$ctrl‘,如果被定義則scope上會有一個該名稱的屬性,例如scope.$ctrl,那么我們在html中就可以這樣使用控制器中的屬性,例如<div>{{$ctrl.name}}<div>

template:string|function,組件的模板,如果是函數,則函數有以下兩個參數,

$element:當前元素。

$attrs:當前元素屬性對象。

templateUrl:string|function,組件模板的路徑,如果是函數,則參數和以上template相同。

bindings:一個對象,用于元素的屬性和組件屬性之間的綁定,并且綁定的值總是綁定到組件的控制器上而不是scope上,詳情請查閱bingToController。

transclude:boolean,是否允許嵌入內容,默認false。

require:一個對象,需要其他指令的控制器被綁定到組件的控制器,對象的鍵指向屬性名稱,對象的值是其他指令控制器的名稱。

$...:額外的屬性被添加到指令工廠函數和控制器構造器函數。(這被使用于為組件路由提供注解)

return:

返回自身,用于鏈式調用。

3、aHrefSanitizationWhitelist([regexp])

恢復或者覆蓋白名單urls安全列表的正則表達式,主要用于阻止通過html鏈接進行的xss攻擊。任何將要通過數據綁定到a[href]的urls首先都要經過初始化并轉化為一個絕對url,如果這個url匹配aHrefSanitizationWhitelist的正則表達式規則,則會被添加到DOM中,否則轉化后的url將會加上'unsafe:‘前綴后才能被加入到DOM中。

參數:

regexp:RegExp,新的白名單正則表達式。

return:

如果參數不存在則返回現在的正則表達式,否則返回自身以供鏈式調用。

4、imgSrcSanitizationWhitelist([regexp])

和以上aHrefSanitizationWhitelist類似,不過這個是設置img[src]的白名單正則表達式。

5、debugInfoEnabled([enabled])

主要用于開啟和關閉運行時的debug信息,默認是true,例如為綁定的元素添加以下信息:

'ng-binding' CSS Class。

'ng-scope‘和'ng-isolated-scope‘ CSS Class。

'$binding‘一個數組,包含了綁定的表達式。

占位符注釋將會包含是什么指令或者binding引發了這個占位符,例如<!-- ngIf: shouldShow() -->

參數:

enabled:boolean

return:

如果包含參數則返回自身,否則返回現在的debug狀態。

6、strictComponentBindingsEnabled([enabled])

是否開啟嚴格的component bindings檢查,如果開啟,則除了那些包含了?的bindings,全部都要求在html標簽中指定相應的屬性。

默認false

參數和返回值和以上debug相同。

7、onChangesTtl(limit)

在復雜的應用程序中,$onChanges鉤子和bindings之間的依賴性可能會導致對這些鉤子的多個調用迭代,該函數可以設置迭代的次數。

默認是10次。

參數:

limit:integer,迭代的次數。

return:

如果設置了limit則返回自身,否則返回已經設置的limit。

8、commentDirectivesEnabled(enabled)

表明是否編譯注釋形式的指令,如果禁用將會提高編譯的性能,因為編譯器不需要去檢查注釋當編譯指令的時候。

默認是true,開啟。

參數和返回值和onChangesTtl(limit)類似。

9、cssClassDirectivesEnabled(enabled)

表明是否編譯Class形式的指令,如果禁用將會提高編譯的性能,因為編譯器不需要去檢查Class當編譯指令的時候。

默認是true,開啟。

參數和返回值和onChangesTtl(limit)類似。

以上這篇angular內置provider之$compileProvider詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敖汉旗| 建平县| 嘉峪关市| 屏边| 磐安县| 景宁| 普兰店市| 崇文区| 扶绥县| 天津市| 台山市| 嘉兴市| 全州县| 宁津县| 呈贡县| 奉化市| 光山县| 综艺| 阿拉善左旗| 荃湾区| 任丘市| 无为县| 道孚县| 涿鹿县| 育儿| 精河县| 泾源县| 葵青区| 盈江县| 景洪市| 高唐县| 长海县| 城口县| 永嘉县| 昌宁县| 乌兰察布市| 松原市| 台江县| 突泉县| 环江| 怀远县|