2014-11-25 2 views
0

Я уже знаю, что вы можете использовать attr.$observe в директиве, чтобы следить за атрибутами, если они меняются.

Есть ли эквивалент для просмотра текста внутри элемента?

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

В приведенном выше примере я хотел бы посмотреть текст «Watch me !!!». Я бы предпочел сделать это, а не $watch, что связано с этой директивой из-за проблем с определением области.

ответ

1

Наблюдение за DOM для внесения изменений - ДОПОЛНИТЕЛЬНО, также нет встроенного способа в пределах Углового для этого. Наблюдение за возможностями изменений - правильный способ сделать это.

Если у вас возникли проблемы с определением области, то, возможно, с более явлением, это то, с чем мы могли бы помочь.

+0

Нет, был только я ленив. Оглядываясь назад, вы совершенно правы, и я реорганизовал так, что просмотр возможностей проще. – jdotjdot

1

Это можно наблюдать DOM меняется, вот пример:

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

Хитрость заключается в том, чтобы передать функцию, возвращающую все, что вы хотите посмотреть, например:

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

Но я думаю, @Enzey прав, вам следует избегать просмотра DOM, вместо этого вы должны привязать данные из угловой области и посмотреть его.

Смежные вопросы