如果已经问过我,我试过找同样的问题但是找不到确切的问题。 我的问题是: -
我正在使用所需的参数调用.handlebars类中的函数但是在调用函数时,在调用reload()函数的某个时刻,它会抛出异常。
代码段如下: -
saveBookmark: function saveBookmark(name, value, version) {
var self = this;
this.get('user').reload().then(function () {
var bookmarks = self.get('bookmarks') || [];
var newBookmarkId = bookmarks.sortBy('id').getWithDefault('lastObject.id', 0) + 1;
var date = moment().format('YYYY-MM-DD');
bookmarks.push({ key: self.get('key'), version: version, id: newBookmarkId, name: name, value: value, date: date });
self.set('bookmarks', bookmarks);
self.send('savePreferences');
});
},
所以,它抛出错误的确切行是: -
this.get('user').reload()
但是,在浏览器控制台上,我可以找到
的值this.get('user')
另外,我无法对此功能进行更改,因为这是通用的,并且正在几个地方使用并且工作正常。
如果你能告诉我一些关于这个问题发生的想法,那将会有很大的帮助。
我得到的例外是: -
"Attempted to handle event `reloadRecord` on <App.User:ember820:me> while in state root.deleted.saved. "
PS: - 我是Ember.js的新手。
答案 0 :(得分:0)
该错误意味着您的user
对象(您使用this.get('user')
引用的对象)处于无效状态(是否在其他位置被删除?)。所以你写的代码抱怨它无法重新加载已删除的模型...