gpt4 book ai didi

ember.js - EmberJS 路由事件转换

转载 作者:行者123 更新时间:2023-12-01 02:24:06 25 4
gpt4 key购买 nike

emberjs-1.0.0-rc-6.1

我的 Controller :

Application.LoginController = Ember.Controller.extend({
loginFailed: false,
isProcessing: false,
isSlowConnection: false,
timeout: null,
login: function() {
/* some code */
},
success: function() {
this.reset();
},
failure: function() {
this.reset();
},
reset: function() {
clearTimeout(this.get("timeout"));
this.setProperties({
isProcessing: false,
isSlowConnection: false
});
}
});

我的路由:
Application.LoginRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.reset();
},
events: {
}
});

当我第一次进入“/login”时,setupController 被调用。但是,每次应用程序转换为登录时,我都想使用一个事件(如转换)来调用 controller.reset()。


LOG_TRANSITIONS: 真

我可以在控制台中看到“Transitionned into 'login'”、“Transitionned into 'anotherPage'”,所以我想知道是否有可能在我的路由器中获取触发这些日志的事件。

喜欢 :
Application.LoginRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.reset();
},
events: {
didTransition: function(reason) {
controller.reset();
}
}
});

最佳答案

I would like to know if it's possible to get the event which trigger those logs, in my router.



您可以连接到路线的 activatedeactivate Hook 并从那里调用 Controller 方法,如下所示:
Application.LoginRoute = Ember.Route.extend({
activate: function() {
this.controllerFor('login').send('reset');
},
deactivate: function() {
this.controllerFor('login').send('reset');
}
});

希望能帮助到你。

关于ember.js - EmberJS 路由事件转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com