“在状态root.deleted.saved中,尝试在<app.user:ember820:me>上处理事件`reloadRecord`。”

时间:2017-04-10 07:20:11

标签: javascript ember.js

如果已经问过我,我试过找同样的问题但是找不到确切的问题。 我的问题是: -

我正在使用所需的参数调用.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的新手。

1 个答案:

答案 0 :(得分:0)

该错误意味着您的user对象(您使用this.get('user')引用的对象)处于无效状态(是否在其他位置被删除?)。所以你写的代码抱怨它无法重新加载已删除的模型...