我的搜索栏与facebook的搜索栏类似。此时,它是功能性的,点击后,从结果列表中说“John Smith”,我的应用程序显示John Smith用户页面。与Facebook的界面一样,顶部导航栏 - 搜索栏所在的位置 - 保留。
显示John Smith用户页面时,搜索栏显示“John Smith”,而不是空白。现在,当我离开此页面时,我需要清除此搜索栏。
因此,当用户离开此特定路线时,如何触发操作?
答案 0 :(得分:1)
如果我理解你的要求 - 你不需要发动动作,Ember.js已经为你提供了willTransition
事件。
在willTransition
内,您可以抓住显示搜索栏并负责业务的控制器。类似的东西:
App.IndexRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
console.log('Will go away...');
var appController = this.controllerFor('application');
appController.set('dude', '');
}
}
});
工作演示here