0

继续使用 Ember.js

我只是从 api 获取值并尝试显示它。我成功获取了数据,但是当我再次加载路线(单击链接)时,数据附加到列表而不是替换。我点击了多少次 - 每次都将完整列表附加到末尾。

代码很大,不知道实际显示什么部分。

也许原因在于键映射?我让它这样

App.Adapter.map('Semantic', {
    primaryKey: 'key'
});

编辑:JsFiddle 链接 - http://jsfiddle.net/bug0r/94h3a/31/

单击关于,然后再次单击主页。

4

1 回答 1

2

您的 DataStore / RESTAdapter 模型密钥设置存在问题。

尝试以下操作:

DS.RESTAdapter.reopen({
  url: 'http://bug0r.apiary.io/api'
});

App.Adapter = DS.RESTAdapter.extend({
  serializer: DS.RESTSerializer.extend({
    primaryKey: function (type){
      return 'key';
   }
  })
});

App.Store = DS.Store.extend({
    revision: 12,
    adapter: App.Adapter
});

这为 DataStore / RESTAdapter 提供了有关记录主键的重要信息。没有它,它就无法知道它在内部已经有哪些记录以及它从 REST API 接收到什么(因此它会继续附加来自 REST API 的数据)。

见分叉的小提琴

http://jsfiddle.net/ddewaele/eJCsQ/

于 2013-05-06T09:17:19.590 回答