Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未调用Ember过渡到路线模型挂钩_Javascript_Ember.js - Fatal编程技术网

Javascript 未调用Ember过渡到路线模型挂钩

Javascript 未调用Ember过渡到路线模型挂钩,javascript,ember.js,Javascript,Ember.js,我在我的余烬应用程序(余烬2)中定义了嵌套路由,如下所示 this.route('main', function() { this.route('step1', function(){ this.route('step1A'); }); }); 现在我想导航到子路由&想触发“model”钩子 所以我有 var routeName = 'main.step1.step1A'; self.transitionTo(routeName); //Tried Opt

我在我的余烬应用程序(余烬2)中定义了嵌套路由,如下所示

this.route('main', function() {
  this.route('step1', function(){
        this.route('step1A');       
  });
});
现在我想导航到子路由&想触发“model”钩子 所以我有

var routeName = 'main.step1.step1A';
self.transitionTo(routeName); //Tried Option1
self.get('controller').transitionToRoute(routeName); //Tried Option2
我的问题是,虽然我确实看到URL发生了变化,“model”钩子不会被触发

如何强制触发“模型”挂钩


根据文档,我认为规则适用于具有动态段的路线。但是我的路线很简单。

今天我偶然发现了同样的问题。我想出了以下解决办法:

this.transitionTo('main.step1.step1A');
this.get('router._routerMicrolib.currentHandlerInfos').findBy('name', 'main.step1.step1A').handler.refresh();

今天我偶然发现了同样的问题。我想出了以下解决办法:

this.transitionTo('main.step1.step1A');
this.get('router._routerMicrolib.currentHandlerInfos').findBy('name', 'main.step1.step1A').handler.refresh();

我知道这不是最好的答案,但是如果您将模型加载到
setupController()
?它总是运行的,只要您可以先不显示数据,然后再更新模板,这可能是一种选择。好吧……由于一些奇怪的原因,甚至setupController钩子也没有被执行!如果您使用一个参数(普通参数,如字符串,而不是对象)转换到路由“workflow.step1.step1A”,这将强制ember点击
model()
hook,该怎么办?当然,您不必使用它。如果您没有任何
setupContoller()
,则被激发的问题可能是Ember为您生成了它。您有workflow.step1.step1A控制器吗?我有该控制器,并且还尝试手动传递字符串“workflow.step1.step1A”我知道这不是最好的答案,但是如果您在
setupController()
中加载模型会怎么样?它总是运行的,只要您可以先不显示数据,然后再更新模板,这可能是一种选择。好吧……由于一些奇怪的原因,甚至setupController钩子也没有被执行!如果您使用一个参数(普通参数,如字符串,而不是对象)转换到路由“workflow.step1.step1A”,这将强制ember点击
model()
hook,该怎么办?当然,您不必使用它。如果您没有任何
setupContoller()
,则被激发的问题可能是Ember为您生成了它。你有workflow.step1.step1A控制器吗?我有那个控制器,而且还尝试手动传递字符串“workflow.step1.step1A”