2017-02-20 112 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等