Ember数据模型引发了loadedData

时间:2013-08-23 12:48:20

标签: ember.js ember-data

我无法弄清楚为什么会有这个例外:

未捕获错误:在状态为root.loaded.updated.uncommitted时尝试处理事件loadedData

这是我的控制器导致此异常:

App.TodosNewController = Ember.ObjectController.extend({
  create: function(todo) {
    var self = this;

    todo.on('becameInvalid', function(todo) {
      self.set('model', todo);
    });

    todo.on('didCreate', function() {
      self.set('priority', '');
      self.set('title', '');
      self.set('due_date', '');
      self.transitionToRoute('todos'); // This line raises exception!
    });
    todo.save();
  }
});

但有趣的是,这段代码运行良好,但它有错误 - 它可以在内存上创建大量模型记录:

App.TodosNewController = Ember.ObjectController.extend({
  create: function() {
    var data = this.getProperties('title', 'priority', 'due_date');
    var todo = App.Todo.createRecord(data);

    var self = this;

    todo.on('becameInvalid', function(todo) {
      self.set('model', todo);
    });

    todo.on('didCreate', function() {
      self.set('priority', '');
      self.set('title', '');
      self.set('due_date', '');
      self.transitionToRoute('todos');
    });
    todo.save();
  }
});

感谢大家,感谢您的回复。

1 个答案:

答案 0 :(得分:0)

解决方案是删除这些行:

  self.set('priority', '');
  self.set('title', '');
  self.set('due_date', '');