灰烬:对象销毁后无法调用writeWatching

时间:2018-08-29 00:38:08

标签: ember.js routing ember-data assertions

当用户注销然后使用浏览器后退按钮返回上一页时,会遇到以下错误:

Error: Assertion Failed: Cannot call writeWatching after the object is destroyed.

我无法将问题隔离到可以在当前环境之外再现的程度,Ember GitHub存储库上的其他开发人员(即herehere)已经报告了一个问题再现性。

从我进行的调用堆栈跟踪中,我可以说该错误是由以下Ember函数执行的:

  setDebugFunction('assert', function assert(desc, test) {
    if (!test) {
      throw new _emberDebugError.default('Assertion Failed: ' + desc);
    }

并且调用堆栈从此Ember函数开始:

onUpdateURL: function (callback) {
      var _this = this;

      this._removeEventListener();

      this._popstateHandler = function () {
        // Ignore initial page load popstate event in Chrome
        if (!popstateFired) {
          popstateFired = true;
          if (_this.getURL() === _this._previousURL) {
            return;
          }
        }
        callback(_this.getURL());
      };

      window.addEventListener('popstate', this._popstateHandler);
    }, 

但是,我完全不知道为什么会这样。任何见识将不胜感激

0 个答案:

没有答案