第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

定義指令時(shí),'controller','link'和'compile'函數(shù)之間的區(qū)別

定義指令時(shí),'controller','link'和'compile'函數(shù)之間的區(qū)別

互換的青春 2019-08-28 16:20:37
定義指令時(shí),'controller','link'和'compile'函數(shù)之間的區(qū)別有些地方似乎使用控制器功能用于指令邏輯而其他地方使用鏈接。角度主頁上的選項(xiàng)卡示例使用控制器作為一個(gè),并鏈接另一個(gè)指令。兩者有什么區(qū)別?
查看完整描述

3 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

我將稍微擴(kuò)展你的問題,并包括編譯功能。

  • 編譯函數(shù) - 用于模板 DOM操作(即操作tElement = template元素),因此適用于與指令關(guān)聯(lián)的模板的所有DOM克隆的操作。(如果還需要鏈接函數(shù)(或前后鏈接函數(shù)),并且定義了編譯函數(shù),則編譯函數(shù)必須返回鏈接函數(shù),因?yàn)?code>'link'如果'compile'定義了屬性,則忽略該屬性。)

  • 鏈接函數(shù) - 通常用于注冊偵聽器回調(diào)(即$watch作用域上的表達(dá)式)以及更新DOM(即,操作iElement =單個(gè)實(shí)例元素)。它在克隆模板后執(zhí)行。例如,在an中<li ng-repeat...>,在將<li>模板(tElement)克隆到該特定<li>元素(到iElement)之后執(zhí)行鏈接功能。A $watch允許指令通知范圍屬性更改(范圍與每個(gè)實(shí)例關(guān)聯(lián)),這允許指令將更新的實(shí)例值呈現(xiàn)給DOM。

  • controller函數(shù) - 當(dāng)另一個(gè)指令需要與該指令交互時(shí)必須使用。例如,在AngularJS主頁上,pane指令需要將其自身添加到tabs指令維護(hù)的作用域,因此tabs指令需要定義窗格指令可以訪問/調(diào)用的控制器方法(思考API)。

    有關(guān)tab和pane指令的更深入說明,以及tabs指令使用this(而不是on $scope)在其控制器上創(chuàng)建函數(shù)的原因,請參閱AngularJS控制器中的'this'vs $ scope。

通常,您可以將方法$watches等放入指令的控制器或鏈接函數(shù)中??刂破鲗⑹紫冗\(yùn)行,這有時(shí)很重要(當(dāng)ctrl和link函數(shù)使用兩個(gè)嵌套指令運(yùn)行時(shí),請參閱此小提琴。正如Josh在評論中提到的那樣,您可能希望將范圍操作函數(shù)放在控制器中,以便與框架的其余部分保持一致。


查看完整回答
反對 回復(fù) 2019-08-28
  • 3 回答
  • 0 關(guān)注
  • 784 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號