簡體   English   中英

Angular - 監聽由控制器執行的指令中的綁定更改

[英]Angular - listening to binding changes in directive executed by controller

我正在嘗試在指令中查看自定義指令屬性值。 此值是來自控制器的變量綁定。 變量是布爾值,並通過控制器中的操作進行更新。

我可以看到我正在通過console.logs正確更新控制器操作中的這個值,但我似乎無法獲得指令來監視此值的更改。 正如我所說,這個值是自定義指令的值:auto-focus =“{{isFocused}}”

我已經創建了一個簡單的plunker來顯示我的問題,任何幫助都會很棒。

Angular - 監聽由控制器執行的指令中的綁定更改

http://plnkr.co/edit/QwwFCQPN7L7nwuthH0CJ?p=preview

為了觀察具有插值的屬性的變化,您需要使用$ attrib。$ observe而不是$ scope。$ watch。 這在angularjs文檔中有描述: http ://docs.angularjs.org/api/ng/service/$compile#Attributes

此外,您將focusVal與true進行比較,但您將其作為字符串通過該屬性傳遞。 這是一個更新的plunker: http ://plnkr.co/edit/e8ZaBM?p = preview

在焦點指令中,您有:

focus-on="{{isFocused}}"

這使你的指令實際上觀察了isFocus包含的內容 - 這是“假的”

將其更改為:

focus-on="ifFocused"

那你的代碼工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM