Как разделить область действия директивы с включенными элементами?

Я пытаюсь создать директиву с включением. Проблема заключается в том, что объем включенной части отличается от объема директивы. Я попробовал это на plnkr, вот ссылка - http://plnkr.co/edit/vDfXs9zyfAngPqmFCiZR?p=preview Я хочу, чтобы директива имела изолированную область действия, но при этом могла переключаться между вкладками в зависимости от того, какая кнопка нажата.

index.html
<maple-multistep-form steps="steps">
<span>transcluded scope - {{selection}}</span>
<div ng-switch="" on="selection">
  <!-- First Step -->
  <div ng-switch-when="Step 1: Team Info">
    <ng-include src="'step1.html'"></ng-include>
  </div>
  <!-- Second Step -->
  <div ng-switch-when="Step 2: Campaign Info">
    <ng-include src="'step2.html'"></ng-include>
  </div>
  <!-- Third Step -->
  <div ng-switch-when="Step 3: Campaign Media">
    <ng-include src="'step3.html'"></ng-include>
  </div>
</div>


person Ankita Dhar    schedule 29.03.2016    source источник
comment
Я не понимаю, чего вы хотели добиться, не могли бы вы рассказать об этом подробнее?   -  person Pankaj Parkar    schedule 29.03.2016


Ответы (1)


Попробуйте передать «выбор» в директиву.

http://plnkr.co/edit/23QO2UGvKwwXK7PRo2bJ?p=preview

 <maple-multistep-form steps="steps" selection="selection">

и внутри

 scope: {   //comment scope to make the directive have shared scope, this makes the directive work fine
  steps: '=',
  selection: '=?'
},
person tpsilva    schedule 29.03.2016
comment
Спасибо. Это сработало. Таким образом, область действия переменной области действия из области действия директивы включена только в том случае, если они предопределены в области видимости, если мы определим ее внутри контроллера, они их не распознают, верно? Также можете ли вы сказать мне, в чем разница между 1. выделением: '=' 2. выделением: '=?' - person Ankita Dhar; 30.03.2016
comment
Да, если область действия изолирована, вы должны определить ее в области действия и передать через нее. Необходимо указать '=', иначе будет выдана ошибка. знак равно переменные являются необязательными и могут быть опущены. - person tpsilva; 30.03.2016
comment
Спасибо :) нужно написать 15 символов в Спасибо... лол :D - person Ankita Dhar; 30.03.2016