2017-02-20 56 views
0

這是隨機排列的項目清單:Angular.js - 順序列表,並保存結果

<ul class="one" drag-drop="page.items"> 
    <li ng-repeat='item in page.items|orderBy:page.random as result'> 
    <img ng-src="http://placecage.com/{{item.id*100}}/{{item.id*100}}"> 
    {{ item.name }} 
    </li> 
</ul> 
<p> <b>Original</b></p> 
<div>{{page.items || json}}</div> 
<p><b>Ordered</b></p> 
<div>{{result || json }}</div> 

下的列表中,我得到兩個原始列表(由ID排序)和隨機後的列表排序依據。

這很好,但問題是我使用拖放這些列表項目,當我移動它們時,原始列表會相應地改變。

如何保存第一個原始結果並稍後使用?

回答

0

如果可以,請提供jsfiddle。除此之外,數組通過引用傳遞。所以如果你改變a時var a和var b等於相同的數組,你也會改變b。可能想複製數組。如果你使用es6的好方法是var c = [... yourArray];

試試看看它是否有效。

var a = []; 
var b = a.concat(yourItemsArray); 

然後排序數組b等