2017-09-15 36 views
0

我所做的:顯示這是該項目後前NG-重複AngularJS

<li ng-repeat="card in cards" ng-if="list._id == card.list">{{card.name}} 
<button ng-click="take($index)">HERE</button>{{ $index}}</li> 

enter image description here

而且我有一個問題:

如果我被從顯示板項目NG-重複也ng - 如果,我怎麼做後,點擊這裏將顯示console.log()名稱之前的項目和之後?

在黑板中有不同列表的混合卡。

+0

哪裏是該函數的代碼'拿($指數)' ,你可以在函數的開始和結尾做一個'console.log()',我可以請你分享這個函數的JS代碼,如果可能的話再多一點HTML。 –

+0

確定這裏是html + angularJS https://jsfiddle.net/820o2j7q/ –

+0

一些更多的說明,你需要在'take($ index)'裏面發生什麼'也請先澄清'console.log()項目和後' –

回答

1

您應該可以結合使用特殊屬性$index,和$last來確定在您的take()函數中所選卡片之前和之後的卡片。

傳遞這些附加屬性在ng-click指令按鈕:

<button ng-click="take($index, $first, $last)">HERE</button>{{ $index}}</li> 

並更新控制器的take()功能:

$scope.take = function(index, first, last){ 
    if (!first) console.log(cards[index-1].name); 
    if (!last) console.log(cards[index+1].name); 
} 
+0

謝謝幾乎在那裏,唯一的問題是,如果我將一張卡片添加到第一個列表,然後將3張卡片添加到列表數字3,並將卡片添加到第一個列表中,它會向您顯示3個字母的卡片,因爲我顯示它在表中不在列表中。 –

+0

@BartłomiejFlis我不理解對不起,還有一個突出的問題?也許它應該是另一個問題,或者它直接關係到這裏發生了什麼? –