0

我不知道为什么我有这个例外:

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

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

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();
  }
});

谢谢你们,伙计们,你们的回应。

4

1 回答 1

0

解决方案是删除这些行:

  self.set('priority', '');
  self.set('title', '');
  self.set('due_date', '');
于 2013-08-23T19:37:07.317 回答