上的努力學習angularjs,我創造了一套使用ng-repeat
div
S上的過程。總共有五個div
。我只使用$first
指令組件顯示第一個div
。覆蓋NG隱藏NG點擊
<div class="container" ng-app="demoApp" ng-controller="demoController">
<div class="row" ng-repeat="job in jobs" ng-hide="!$first">
<div class="col-md-4">
{{job}}
</div>
<div class="col-md-4">
<button class="btn-primary btn-xs add" ng-click="showNext($event)" ng-hide="$last">Add</button>
<button class="btn-primary btn-xs delete" style="display: none;">Delete</button>
</div>
</div>
</div>
這有效。現在
,每個div有兩個按鈕,添加和刪除。當我點擊添加我想隱藏當前行的添加按鈕和刪除按鈕並打開下一行。所以我寫了,
$scope.showNext = function(evt) {
var elm = evt.target;
$(elm).hide();
$(elm).next().hide();
$(elm).closest("div.row").next().slideDown();
};
這不是工作作爲ng-hide
是壓倒我slideDown
。做這件事的方式是什麼?
此外,我想只有在$last
可見行& & !first
刪除按鈕。如何在ng-repeat中查找最後一個可見行?
小提琴:https://jsfiddle.net/codeandcloud/u4penpxw/
我覺得更清潔的方式是將兩種方法('showNext','hideThis')移動到一個指令。 – Raulucco