![](/img/trans.png)
[英]ng-click inside the ng-repeat binding all the data with ng-include
[英]Change ng-include template rendered inside ng-repeat
我有一个ng-repeat,其中每个实例都包含一个ng-include
。 像这样:
<li ng-repeat="item in items">
<div class="item-actions" ng-include="actionsTemplate"></div>
</li>
现在,我希望能够通过单击同一作用域中的按钮来设置和删除actionsTemplate
源,如下所示:
<li ng-repeat="item in items">
<div class="item-actions" ng-include="actionsTemplate"></div>
<button ng-click="toggleActionsTemplate()">Toggle Actions</button>
</li>
所以点击按钮会触发一个功能toggleActionsTemplate()
所设置的actionsTemplate
源foo
,或者如果它已经设置为foo
,将其设置为null
以除去模板。
我已经尝试过这样做,但无法弄清楚如何获得一个控制器函数来定位从其调用该函数的同一ng-repeat
实例内的模板。
这是否可能,更重要的是,这是实现这一行为的好方法吗?
这是一个小矮人: http ://plnkr.co/edit/4p56QeuqpMAH1yc0tbfy?p=preview
ngRepeat
每个子作用域初始化一个不同的actionsTemplate
变量。 ngInit
初始化作用域变量。 <li ng-repeat="item in items" ng-init="action = actionsTemplate">
<div class="item-actions" ng-include="action"></div>
<button ng-click="action = toggleAction(action)">Toggle Actions</button>
</li>
控制器:
$scope.toggleAction= function(action){
return action === 'foo' ? null : 'foo';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.