灰烬 - 防止路线错误转换

时间:2015-06-23 09:16:21

标签: javascript ember.js error-handling url-routing

我拦截了我的余烬路线上的error钩子。我在顶级做这个并继承了这个类的所有路线。

我想要做的是,当服务器返回 401 Unauthorized 响应时,我想显示一条通知,告知用户未获得授权,并且保持在同一页面上。

到目前为止,我有这个:

Ember.Route = Ember.Route.extend(InfinityRoute, {
  actions: {
    error: function(error){
      if (error.status === 401) {
        this.store.createRecord('notice', {
          message: "You are not authorized to view this content. Sorry man."
        });
        // Some code here ...
      }
    }
  }
});

通知有效,但应用程序仍会切换到新模板,该模板的内容为空,因为用户无权查看该模板。

我希望我的应用程序保持在同一页面上,而不是转换到请求的页面。

如何?

1 个答案:

答案 0 :(得分:0)

我不确定,但您可以尝试willTransition

willTransition: function(transition) {
  // inspect transition object to see if the error ocurred
}

也许它会有所帮助:)