一、方法概覽
社旗網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
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注冊(cè)一個(gè)指令
參數(shù):
name:string,指令的名稱。
directiveFactory:function,指令構(gòu)造工廠函數(shù)。
return:
返回自身,以供鏈?zhǔn)秸{(diào)用。
2、component(name, options)
使用compiler注冊(cè)一個(gè)組件,組件是一種特殊的指令,它自包含了UI,并且總是默認(rèn)使用獨(dú)立作用域和restrict: 'E'。組件的定義是簡(jiǎn)單的,options是一個(gè)包含了一系列屬性的對(duì)象,并且總是強(qiáng)制使用最好的實(shí)踐,例如controllerAS:$ctrl。
參數(shù):
name:組件的名稱。
options:一個(gè)對(duì)象,包含以下可選的屬性。
controller:string|function,指令的控制器,字符串代表一個(gè)被注入到該模塊的控制器的名稱。
controllerAS:string,控制器的一個(gè)引用,默認(rèn)是'$ctrl‘,如果被定義則scope上會(huì)有一個(gè)該名稱的屬性,例如scope.$ctrl,那么我們?cè)趆tml中就可以這樣使用控制器中的屬性,例如<div>{{$ctrl.name}}<div>
template:string|function,組件的模板,如果是函數(shù),則函數(shù)有以下兩個(gè)參數(shù),
$element:當(dāng)前元素。
$attrs:當(dāng)前元素屬性對(duì)象。
templateUrl:string|function,組件模板的路徑,如果是函數(shù),則參數(shù)和以上template相同。
bindings:一個(gè)對(duì)象,用于元素的屬性和組件屬性之間的綁定,并且綁定的值總是綁定到組件的控制器上而不是scope上,詳情請(qǐng)查閱bingToController。
transclude:boolean,是否允許嵌入內(nèi)容,默認(rèn)false。
require:一個(gè)對(duì)象,需要其他指令的控制器被綁定到組件的控制器,對(duì)象的鍵指向?qū)傩悦Q,對(duì)象的值是其他指令控制器的名稱。
$...:額外的屬性被添加到指令工廠函數(shù)和控制器構(gòu)造器函數(shù)。(這被使用于為組件路由提供注解)
return:
返回自身,用于鏈?zhǔn)秸{(diào)用。
3、aHrefSanitizationWhitelist([regexp])
恢復(fù)或者覆蓋白名單urls安全列表的正則表達(dá)式,主要用于阻止通過(guò)html鏈接進(jìn)行的xss攻擊。任何將要通過(guò)數(shù)據(jù)綁定到a[href]的urls首先都要經(jīng)過(guò)初始化并轉(zhuǎn)化為一個(gè)絕對(duì)url,如果這個(gè)url匹配aHrefSanitizationWhitelist的正則表達(dá)式規(guī)則,則會(huì)被添加到DOM中,否則轉(zhuǎn)化后的url將會(huì)加上'unsafe:‘前綴后才能被加入到DOM中。
參數(shù):
regexp:RegExp,新的白名單正則表達(dá)式。
return:
如果參數(shù)不存在則返回現(xiàn)在的正則表達(dá)式,否則返回自身以供鏈?zhǔn)秸{(diào)用。
4、imgSrcSanitizationWhitelist([regexp])
和以上aHrefSanitizationWhitelist類(lèi)似,不過(guò)這個(gè)是設(shè)置img[src]的白名單正則表達(dá)式。
5、debugInfoEnabled([enabled])
主要用于開(kāi)啟和關(guān)閉運(yùn)行時(shí)的debug信息,默認(rèn)是true,例如為綁定的元素添加以下信息:
'ng-binding' CSS Class。
'ng-scope‘和'ng-isolated-scope‘ CSS Class。
'$binding‘一個(gè)數(shù)組,包含了綁定的表達(dá)式。
占位符注釋將會(huì)包含是什么指令或者binding引發(fā)了這個(gè)占位符,例如<!-- ngIf: shouldShow() -->
參數(shù):
enabled:boolean
return:
如果包含參數(shù)則返回自身,否則返回現(xiàn)在的debug狀態(tài)。
6、strictComponentBindingsEnabled([enabled])
是否開(kāi)啟嚴(yán)格的component bindings檢查,如果開(kāi)啟,則除了那些包含了?的bindings,全部都要求在html標(biāo)簽中指定相應(yīng)的屬性。
默認(rèn)false
參數(shù)和返回值和以上debug相同。
7、onChangesTtl(limit)
在復(fù)雜的應(yīng)用程序中,$onChanges鉤子和bindings之間的依賴性可能會(huì)導(dǎo)致對(duì)這些鉤子的多個(gè)調(diào)用迭代,該函數(shù)可以設(shè)置迭代的次數(shù)。
默認(rèn)是10次。
參數(shù):
limit:integer,迭代的次數(shù)。
return:
如果設(shè)置了limit則返回自身,否則返回已經(jīng)設(shè)置的limit。
8、commentDirectivesEnabled(enabled)
表明是否編譯注釋形式的指令,如果禁用將會(huì)提高編譯的性能,因?yàn)榫幾g器不需要去檢查注釋當(dāng)編譯指令的時(shí)候。
默認(rèn)是true,開(kāi)啟。
參數(shù)和返回值和onChangesTtl(limit)類(lèi)似。
9、cssClassDirectivesEnabled(enabled)
表明是否編譯Class形式的指令,如果禁用將會(huì)提高編譯的性能,因?yàn)榫幾g器不需要去檢查Class當(dāng)編譯指令的時(shí)候。
默認(rèn)是true,開(kāi)啟。
參數(shù)和返回值和onChangesTtl(limit)類(lèi)似。
以上這篇angular內(nèi)置provider之$compileProvider詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。
網(wǎng)頁(yè)標(biāo)題:angular內(nèi)置provider之$compileProvider詳解
標(biāo)題鏈接:http://jinyejixie.com/article2/pdchoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)