Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > angularjs isolated scope


Автор: sealmu 12.11.2013, 15:28
у меня 2 директивы :
directive-1 -> добовляет обработку click и показывает popup.
закрыто в isolated scope, т.к. может быть добавлена к разным элементам и не хочу засарять их scope(и хочу исключить вмешательство в него, только если через properties)

directive-2 -> теряет scope контроллера из за isolated scope в directive-1.



Код

<body ng-controller="mainController">
<directive-1 popup="pop-1">
      <directive-2  callbackfunc="func-1">
      </directive-2>
</directive-1>
</body>


или

Код

<body ng-controller="mainController">
<div directive-1>
      <directive-2  callbackfunc="func-1">
      </directive-2>
</div>
</body>





как я могу закрыть directive-1 в isolated scope но не влиять на scope directive-2?

Автор: JAYBE 23.12.2013, 13:08
Да, при создании директивы в параметр scope написать свой объект, напр.:
"scope: { ... } — директива создает новые изолированные области видимости. Они не наследуются прототипически. Как правило, это лучший вариант для создания компонентов многоразового использования, т. к. директива не сможет случайно прочитать или изменить данные из родительской области. тем не менее, таким директивам часто необходим доступ к некоторым свойствам из родительской области. "

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)