通过 ember 路由设置默认状态
Set default state by routing with ember
我有一些控制器
NewController.extend({
ors: [],
ands: [],
.......
在我的控制器中 ors、ands 和另一个变量发生变化。
如何更改路由变量设置默认状态?
有这样的钩子吗,所以设置默认状态?
在 angular2 中,我不知道什么时候必须默认设置变量。在 angular2 中是 zonejs 并且在没有我的情况下完成。
控制器是单例的,这意味着它不会被再次实例化。路线中有一些挂钩,您可以重置控制器。但默认情况下控制器中提供了钩子。
resetController
一个挂钩,您可以在模型更改或路线退出时使用它来重置控制器值。
import Ember from 'ember';
export default Ember.Route.extend({
resetController(controller, isExiting, transition) {
//isExiting is true on leaving the route.
if (isExiting) {
controller.set('page', 1);
}
}
});
deactivate()
您可以在其中使用 this.controller
并将所有属性设置为初始值。
我有一些控制器
NewController.extend({
ors: [],
ands: [],
.......
在我的控制器中 ors、ands 和另一个变量发生变化。
如何更改路由变量设置默认状态?
有这样的钩子吗,所以设置默认状态?
在 angular2 中,我不知道什么时候必须默认设置变量。在 angular2 中是 zonejs 并且在没有我的情况下完成。
控制器是单例的,这意味着它不会被再次实例化。路线中有一些挂钩,您可以重置控制器。但默认情况下控制器中提供了钩子。
resetController
一个挂钩,您可以在模型更改或路线退出时使用它来重置控制器值。
import Ember from 'ember'; export default Ember.Route.extend({ resetController(controller, isExiting, transition) { //isExiting is true on leaving the route. if (isExiting) { controller.set('page', 1); } } });
deactivate()
您可以在其中使用this.controller
并将所有属性设置为初始值。