我已經知道你可以在指令中使用attr.$observe
來觀察屬性是否改變。
是否有相當於觀察元素內的文本?
<div my-directive ng-bind="myText || 'Watch me!!!'">Watch me!!!</div>
在上面的例子中,我想看文本「看我!!!」。我更喜歡這樣做,而不是$watch
由於範圍問題,綁定到指令的內容。
我已經知道你可以在指令中使用attr.$observe
來觀察屬性是否改變。
是否有相當於觀察元素內的文本?
<div my-directive ng-bind="myText || 'Watch me!!!'">Watch me!!!</div>
在上面的例子中,我想看文本「看我!!!」。我更喜歡這樣做,而不是$watch
由於範圍問題,綁定到指令的內容。
觀察DOM的變化是昂貴,也沒有建立在Angular內部這樣做。觀察變化的範圍是正確的方法。
如果您在確定方案時遇到了問題,那麼也許在我組建更多的情況下,這也是我們可以提供的幫助。
很可能會看到DOM的變化,這裏有一個例子:
http://jsfiddle.net/kihu/t7zr71ma/5/
關鍵是要通過你想要觀看一個函數返回的事物,如:
scope.$watch(function() {
return element.text();
}, handleChange)
但我認爲@Enzey是對的,你應該避免觀看DOM,而應該從角度範圍綁定數據並觀看它。
不,只是我懶惰。回想起來,你是完全正確的,而且我已經重構過,以便觀察範圍更簡單。 – jdotjdot 2014-11-26 05:46:05