保存项目时,项目排序不同?

Items are sorted differently when one them is saved?

我正在显示我的 post 下载。单击它们后,将执行一个操作来增加它们的下载计数并自行发出下载。

当有两个下载项时,我点击第一个,它的下载计数在模板中发生变化,它与第二个下载项交换位置。 为什么它们会互换,我该如何预防?

这是模板:

  {{#each download in post.downloads }}
    <p>
      <a {{ action "incDownload" download }}>
        {{ download.name }}
      </a> - {{ unbound download.downloadcount }} Hits
    </p>
  {{/each}}

这是控制器:

import Ember from 'ember';

export default Ember.ObjectController.extend({

  actions: {
      incDownload: function(obj) {
          obj.incrementProperty('downloadcount')
          obj.save()
        }
      }
    }
})

您没有执行任何明确的排序,因此当下载数组的内容发生变化时,它们的排序也可能会发生变化。使用 SortableMixin 确保排序顺序一致。