如何手动重用错误路由?

时间:2015-01-21 06:41:50

标签: ember.js

如何手动重用错误路由?

所以你可以创建一个名为error的模板,如果在/ - /之后模型返回一个拒绝的承诺,或者如果他们抛出一个我想的错误,那么用户将(中间)转换到它。

a)当我无法处理模型挂钩中没有的严重错误时,重复使用此模板/路由是不好的做法?如果是这样,为什么?

b)如果重复使用错误模板/路线是不错的做法,那么如何正确地过渡到错误路径呢?

要明白,我想看看

  • router.js中的错误路由声明(或您不使用的声明)
  • 使用代码
  • 转换到错误路由的示例

1 个答案:

答案 0 :(得分:2)

a)我不知道它的不良做法还是某种糟糕的模式

b)这是我在发生错误时运行自己的代码的方式,无论发生什么样的错误:

// The ApplicationRoute
export default Ember.Route.extend({
    actions: {
        error: function(error) { Ember.onerror(error) },
    },

    setupErrorHandling: function() {
        Ember.onerror = function(error) {
            // console.assert(false, error);
            if      (error && error.stack)  { console.error(error.stack); }
            else if (error)                 { console.error(error); }
            this.intermediateTransitionTo('error', error);
        }.bind(this);
    }.on('init'),
});