[英]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.