Angular.js - 订单列表并保存结果

时间:2017-02-20 22:25:11

标签: javascript angularjs

这是随机订购商品的列表:

<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之后的列表。

这很棒,但问题是我在这些列表项上使用拖放功能,当我移动它们时,原始列表会相应更改。

如何保存第一个原始结果并在以后使用?

1 个答案:

答案 0 :(得分:0)

如果可以,请提供jsfiddle。除此之外,数组通过引用传递。因此,如果在更改a时var a和var b等于同一个数组,则也会更改b。可能想复制数组。如果您使用es6,那么好的方法是var c = [... yourArray];

试一下,看看它是否有效。

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

然后排序数组b等。