2013-08-23 108 views
0

我想不通,爲什麼我有這樣的例外:灰燼數據模型提出了loadedData

未捕獲的錯誤:試圖在同時處理事件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(); 
    } 
}); 

謝謝你們的迴應。

回答

0

解決的辦法是刪除這些行:

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