2017-05-30 98 views
0

我有一個「行動」對象的數組。每個對象都有一個狀態:「mastered」或「new」。吳重複和角度過濾器

在一個導航選項卡中,我展示了「新」的行動:

<div ng-repeat="x in main.actions | filter: {status: '!mastered'} > 

<div class="btn-group"> 
    <label ng-model="x.status" uib-btn-radio="'new'"><label> 
    <label ng-model="x.status" uib-btn-radio="'mastered'"></label> 
</div> 

</div> 

在一個單獨的導航選項卡中,我展現掌握動作。我的代碼與ng-repeat中包含的過濾器除外相同。

通過單擊這些單選按鈕,可以將操作的狀態從「新」更改爲「掌握」。一切都按預期運作,但是,當我改變行動的狀態時,整個SPA回到它的主頁!

這是爲什麼?我需要做什麼來防止這種情況發生?

回答

0

您可以合併,因此您不必爲每種狀態使用不同的選項卡。嘗試這樣的操作。

代碼:

<div ng-repeat="x in main.actions | filter: {status: stat} "></div> 


<div class="btn-group"> 
    <label ng-model="x.status" uib-btn-radio="'new'" ng-click="stat = 'new'"><label> 
    <label ng-model="x.status" uib-btn-radio="'mastered'" ng-click="stat = 'mastered'"></label> 
</div> 

這個現在應該根據你點擊按鈕篩選NG-重複。

+0

感謝您的回覆。不幸的是,我不確定我是否跟着。我確實需要保持這種分離 - 實際上有5種不同的狀態,我需要將「掌握」的動作放在他們自己的標籤上。我想保留更改操作狀態的功能,以便可以將它從主選項卡移至主控選項卡。 –

+0

上面的代碼仍然會給你不同標籤的影響,但它會將你的編碼降到最低。如果你堅持讓他們分開,那很好,但你需要提供更多的代碼,那麼你上面提供了什麼,以便讓某人進一步提供幫助。你可以這樣做,或創建一個jsFiddle的問題。 – Ohjay44