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

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

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

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

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

3 回答

?
心有法竹

TA貢獻1866條經(jīng)驗 獲得超5個贊

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

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

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

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

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

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


查看完整回答
反對 回復 2019-08-28
  • 3 回答
  • 0 關注
  • 771 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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