Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2013, 14:54
Новичок на форуме
Отправить личное сообщение для sealmu Посмотреть профиль Найти все сообщения от sealmu
 
Регистрация: 12.11.2013
Сообщений: 3

AngularJs isolated scope directive
у меня 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?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2013, 18:52
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Никак. Это идеологически невозможно вложенная директива всегда имеет доступ к scope внешний изолированной директивы но не глубже.
Все что ты можеш это получить доступ к scope контрола какимнибудь полухакерским способом
Например как нибудь так
controllerScope=angular.element("#scope").scope();
Либо при помощи $scope.$parent

но это не тоже самое что размещение директивы 2 в scope контролера
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 13.11.2013 в 19:16.
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2013, 21:14
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от sealmu
как я могу закрыть directive-1 в isolated scope но не влиять на scope directive-2?
Сообщение от DjDiablo
Никак
у вас проблемы со структурой приложения, раз возникают подобные вопросы
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 14.11.2013, 08:29
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Сообщение от nerv_ Посмотреть сообщение
у вас проблемы со структурой приложения, раз возникают подобные вопросы
У нас ?
У меня таких вопросов не возникает )))

А так согласен, просто криво спроектировано. Тот же контролер попросту можно внутрь directive 1 засунуть
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.11.2013 в 08:35.
Ответить с цитированием
  #5 (permalink)  
Старый 14.11.2013, 12:09
Новичок на форуме
Отправить личное сообщение для sealmu Посмотреть профиль Найти все сообщения от sealmu
 
Регистрация: 12.11.2013
Сообщений: 3

в этом случае :

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


directive-1 - это только property к div(например как то реагировать на некое событие). как я могу по другому декларативно назначать функциональность элементам?

я могу использовать $parent но это заставляет меня каждый раз после добавления property/directive вносить изменения :

<div directive-1>
      <directive-2  callbackfunc="[COLOR="Red"]$parent.[/COLOR]func-1">
      </directive-2>
</div>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра в демки, пиар ангуляра и обучение. DjDiablo Angular.js 39 07.06.2014 13:11
вопрос по видимости переменных. yiooxir Angular.js 3 31.10.2013 12:37
Isolated scope в select Olival888 Angular.js 9 16.10.2013 11:48
тест magistr_bender Оффтопик 44 25.10.2008 19:28