1

我想处理在 ember 中的第一条路线中发生的错误,并且如果错误操作被称为重定向到另一条路线。

我将如何确定这是否是调用错误时的第一条路由,如果它是第一条路由,则重新路由到路由说索引。但是,如果它不是第一条路线,则返回 true 并让错误冒泡。

每当我重试转换对象时都会出现此错误

未捕获的错误:无法触发操作“错误”,因为您的应用尚未完成转换到其第一条路线。要在转换期间触发目标路由上的操作,您可以调用传递给 挂钩.send()的 对象。Transitionmodel/beforeModel/afterModel

这是我的设置:

ember.js:15373 DEBUG: Ember       : 1.8.1
ember.js:15373 DEBUG: Handlebars  : 1.3.0
ember.js:15373 DEBUG: jQuery      : 1.11.3
ember.js:15373 DEBUG: Ember Model : 0.0.14

这将是我所有其他路由继承自的父路由

export default Ember.Route.extend({
//This can sometimes return a 500 and i want to re-route incase of error.
model: function(params) {
    return CopyTree.fetchById({
      treeType: params['treeType'],
      id: params['id']
    });
  },
 actions: {
  error: function(error, transition) {
   //FAKE CODE NOT SURE HOW TO TELL I AM IN THE FIRST ROUTE
   if(this.firstRoute){
     this.transitionTo('index');
   } else{
     return true;
    }
   }
 }
});
4

0 回答 0