这是随机订购商品的列表:
<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排序)和随机orderBy之后的列表。
这很棒,但问题是我在这些列表项上使用拖放功能,当我移动它们时,原始列表会相应更改。
如何保存第一个原始结果并在以后使用?
答案 0 :(得分:0)
如果可以,请提供jsfiddle。除此之外,数组通过引用传递。因此,如果在更改a时var a和var b等于同一个数组,则也会更改b。可能想复制数组。如果您使用es6,那么好的方法是var c = [... yourArray];
试一下,看看它是否有效。
var a = [];
var b = a.concat(yourItemsArray);
然后排序数组b等。