小编lük*_*üku的帖子

Emberjs数据如何稍后加载hasMany-Data

我有以下Emberjs数据模型:

App.File = DS.Model.extend({
  like: DS.attr('boolean'),
  comments: DS.hasMany('App.Comment')
});

App.Comment = DS.Model.extend({
  file: DS.belongsTo('App.File'),
  comment: DS.attr('string')
});
Run Code Online (Sandbox Code Playgroud)

并预加载:

 App.store.load(App.File, {id: 1, like: false});
Run Code Online (Sandbox Code Playgroud)

现在我想,如果我得到这样的评论:

var f = App.store.find(App.File, 1);
var c = f.get("comments");
Run Code Online (Sandbox Code Playgroud)

var c是一个空的EmberArray,并且请求被发送到服务器.但是我没有收到请求?为什么以及如何做到这一点?我真的不想预先加载评论.

此外,如果我添加注释,还要同时更改文件:

f.get("comments").createRecord({comment: "test"});
f.set("like", true);
App.store.commit();
Run Code Online (Sandbox Code Playgroud)

两个请求被发送到服务器.但是如果我然后返回以下JSON(对于文件):

{ "id": 1, like: true }
Run Code Online (Sandbox Code Playgroud)

我的第一个可见评论再次消失.为什么?我该怎么办?

谢谢你的帮助!

ember.js ember-data

7
推荐指数
1
解决办法
2147
查看次数

标签 统计

ember-data ×1

ember.js ×1