Angular:$观察元素的文本

时间:2014-11-25 03:47:58

标签: javascript angularjs angularjs-directive

我已经知道您可以在指令中使用attr.$observe来监视属性是否发生变化。

是否有相同的内容观看元素中的文字?

<div my-directive ng-bind="myText || 'Watch me!!!'">Watch me!!!</div>

在上面的例子中,我想看看“看我!!!”的文字。由于范围问题,我更倾向于这样做,而不是$watch被指令绑定的内容。

2 个答案:

答案 0 :(得分:1)

观察DOM的变化是昂贵,而Angular中也没有内置方法可以做到这一点。观察更改的范围是正确的方法。

如果你在确定范围方面存在问题,那么或许我会形成更多的问题,这也是我们可以提供的帮助。

答案 1 :(得分:1)

可以观看DOM更改,这是一个例子:

http://jsfiddle.net/kihu/t7zr71ma/5/

诀窍是传递一个函数返回你想要观看的任何东西,例如:

  scope.$watch(function () {
                return element.text();
            }, handleChange)

但我认为@Enzey是对的,你应该避免看DOM,而应该从角度范围绑定数据并观察它。