1

我正在尝试使用余烬的所有最后路线和数据内容构建一个简单的待办事项列表。你可以在这里找到我的完整回购

我的商店是这样设置的:

EmberTodo.Store = DS.Store.extend({
  revision: 11,
  adapter: DS.RESTAdapter.create({bulkCommit: false})
});

给我带来麻烦的代码行来自这里:

EmberTodo.CreateItemView = Ember.TextField.extend({
  insertNewline: function() {
    EmberTodo.Item.createRecord({description: this.get('value')});
    this.set("value", "");
  }
});

据我了解,调用createRecord不会创建记录,而是我需要在commit()某个地方调用。但是,我无法弄清楚在哪里。有人有想法么?

4

1 回答 1

2

据我了解,调用 createRecord 不会创建记录,而是我需要在某处调用 commit() 。但是,我无法弄清楚在哪里。有人有想法么?

当然。为了让这个工作尽可能最小

EmberTodo.CreateItemView = Ember.TextField.extend({
  insertNewline: function() {
    item = EmberTodo.Item.createRecord({description: this.get('value')});
    item.get('transaction').commit();
    this.set("value", "");
  }
});

我在这里使用 DS.FixtureAdapter 放置了一个简化的工作示例:http: //jsbin.com/ugipap/1/edit

完成了,对吧?

有点。事情是,你真的不想从一个视图中做这种事情。考虑重构以将此逻辑移动到控制器层,或者根据情况可能的路由器。

于 2013-01-23T22:05:26.730 回答