Даже после недели глубоких испытаний я не смог решить следующую проблему.
1) HTML-контейнер Получил HTML-контейнер с ng-repeat, используя внутри директиву E, вот упрощенныйпример.
<div ng-repeat="block in blocks">
<my-directive
selected="selected[block.name]"
block-name="block.name"
>
</my-directive>
</div>
2) Код директивы
module.directive('myDirective', myDirective);
function myDirective() {
return {
restrict: 'E',
templateUrl : 'myDirectiveTemplate.tpl.html',
scope: {
selected: '='
blockName: '='
},
link: function ($scope) {
}
}
};
3) HTML-код используемой директивы
<div>
<div>
<input type="text" ng-model="selected.denomination" myFunc="onCompletedListClick($parent.selected, $parent.blockName)"
class="form-control"/>
</div>
</div>
<button
ng-click="onCompletedListClick($parent.selected, $parent.blockName)">
ReSearch</button>
Проблема в директиве,при использовании кнопки область всегда с правильными данными, в этом случае при нажатии клавиши Enter вызывается myFunc.
В некоторых случаях, например, при выполнении исследования для первого я имею в виду четыре блока.все в порядке, но проводя исследование для второго, он использует область действия первого ... но только при нажатии клавиши, исследование, начинающееся с кнопки, кажется, всегда в порядке.
Мои вопросы: 1)Как это исправить, я схожу с ума от этого 2) Почему это происходит?