Javascript 未捕获的TypeError:使用TransitionRoute时无法读取未定义的属性“enter”

Javascript 未捕获的TypeError:使用TransitionRoute时无法读取未定义的属性“enter”,javascript,ember.js,Javascript,Ember.js,我收到一个未捕获的TypeError:无法读取未定义的属性“enter”。这是当我在控制器中使用TransitionRoute时。 控制器中的TransitionRoute函数 transitionToRoute: function() { // target may be either another controller or a router var target = get(this, 'target'); var meth

我收到一个未捕获的TypeError:无法读取未定义的属性“enter”。这是当我在控制器中使用TransitionRoute时。 控制器中的TransitionRoute函数

     transitionToRoute: function() {
         // target may be either another controller or a router
         var target = get(this, 'target');
         var method = target.transitionToRoute || target.transitionTo;
         return method.apply(target, arguments);
     },
在这里,目标变量被分配一个视图,而不是控制器或路由器。我不知道这是否是一个问题,或者我是否以错误的方式使用了TransitionRoute。这里需要帮助

编辑: 上面的函数可以在这里找到,

编辑: 在上面的函数中,它使用如下控制器对象调用get函数,在其中查找目标键。 当我在transitionToRoute中记录this.target时,它会打印一个route类,但如果我在get函数中记录相同的变量,则会得到一个视图类

我不知道这是怎么发生的

试试看

transitionToRoute: function() {
     // target may be either another controller or a router
     var target = get(this, 'target');
     var method = target.transitionToRoute || **this.target.transitionTo;**
     return method.apply(target, arguments);
 },

这里,控制器的transitionToRoute函数获取其路由并调用路由的transitionTo函数。 所以,作为一种解决方法,我们可以直接在控制器中获取路由并调用TransitionOn

//inside controller
this.get('target').transitionTo(arguments);

但我仍然想知道为什么会发生这种情况

这是余烬的功能,我想我不想编辑它。我猜,你建议删除那个代码。我试过了,但是视图类只有transistito函数。所以它抛出了一个错误,说函数不存在。即使这个代码更改是一个选项,它会如何更改任何东西?