设置控制器属性我有灰烬代码transitionTo一些航线&我想设置controllerAttr1上my.route灰烬transitionTo和回调
this.get('router').transitionTo("my.route").then(function (newRoute) {
newRoute.controller.set("controllerAttr1", controllerAttr1); // This code is called later
});
在my.route,我有controller.controllerAttr1
检查model: function (params) {
},
setupController: function setupController(controller, model) {
// Issue us below check is executed before the callback code which sets "controllerAttr1"
if (controller.controllerAttr1) {
//Do something
}
}
然而,在执行回调代码之前,我的问题是这样的支票controller.controllerAttr1偏偏
newRoute.controller.set("controllerAttr1", controllerAttr1);
我该如何解决这个问题?
如何在执行回调函数后重新执行model/setupController钩子 – testndtv
如果您可以解释我们的用例,那么将会有更好的方法来修复它。重新执行并不好。但是如果你想重做所有刚刚完成的工作。那么在路由中会出现'refresh',那会做.. – kumkanillam
这个场景是我最初描述的那个。因此,一个转换发生在my.route(它在model/setupController中执行一些代码)挂钩,随后执行的then()回调会在my.route上设置一些控制器属性。但由于逻辑在setupController中较早执行,因此我的代码无法按预期工作 – testndtv