我对我的情况感到有点困惑,基本上我需要点击按钮来切换表单,而无需切换页面上的所有表单。
如果我有这样的结构:
<ul>
<li ng-repeat="item in cart">
... lots of elements ...
<button data-toggle data-target="myForm">Toggle form</button>
... some container ...
<!-- deep nested form -->
<form class="myForm"></form>
</li>
</ul>
这条指令:
core.directive('toggle', [function() {
return {
restrict: 'A',
link: function($scope, element, attrs) {
element.on('click', function() {
$('.' + attrs.target).stop().slideToggle(100);
});
}
}
}]);
如何使按钮不会切换每个重复元素中的每个表单?我不知何故需要从按钮所在的li开始然后切换表单,但究竟我该如何以有效的方式做到这一点?我正在考虑将一个孤立的范围传递给指令,然后使用它以某种方式遍历DOM结构并切换表单,但感觉这甚至不可能?
我该怎么做才能解决我的问题?