2015-12-08 4 views
2

У меня есть две директивы: «родительский» и «дочерний». Я хочу установить видимость дочерней директивы на основе значения переменной scope в контроллере родительской директивы. КонтроллерДоступ к переменным окружения контроллера родительской директивы в дочерней директиве

<div> 
    <h1>Parent Directive selected index : {{ selectedIndex }}</h1> 
    <div id="children" ng-transclude></div> 
</div> 

родительской директивы имеет selectedIndex переменный в ее рамках и директивы ребенка id переменные в своей области. Я пытаюсь использовать ng-show по директиве ребенка с помощью

<div ng-show="id==selectedIndex"> 
    <h1>{{id}}</h1> 
</div> 

Это не работает должным образом.

У меня есть ссылка на сценарий jsfiddle.

https://jsfiddle.net/vibhanshu/pep44qz7/10/

+1

Вы забыли "" здесь

+0

этот вопрос уже ответил на это [ сообщение] (http://stackoverflow.com/questions/14049480/what-are-the-nuances-of-scope-prototypal-prototypical-inheritance-in-angula Х.С.) –

ответ

1

Вы можете определить bidrectional свойство на вашего ребенка директивы selectedIndex: '='

scope: { id: '@', selectedIndex: '='} 

<parent> 
     <child id="1" selected-index="selectedIndex"></child> 
     <child id="2" selected-index="selectedIndex"></child> 
</parent> 

Обновлено Скрипки - https://jsfiddle.net/pep44qz7/12/

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