javascript - 如何在离开页面时触发 ember.js 操作?

标签 javascript ember.js

我有一个搜索栏,旨在类似于 facebook 的搜索栏。此时,它可以正常工作,单击结果列表中的“John Smith”后,我的应用程序将显示 John Smith 用户页面。与 Facebook 的界面一样,顶部导航栏 - 搜索栏所在的位置 - 保留。

当显示 John Smith 用户页面时,搜索栏不是空白,而是显示“John Smith”。现在,当我离开这个页面时,我需要清除这个搜索栏。

因此,当用户离开这条特定路线时,我该如何触发一个 Action ?

最佳答案

如果我理解正确你在问什么 - 你不需要触发一个 Action ,Ember.js 已经为你提供了 willTransition 事件。

willTransition 中,您可以控制显示搜索栏的 Controller 并处理事务。像这样的东西:

App.IndexRoute = Ember.Route.extend({
  actions: {
    willTransition: function(transition) {
      console.log('Will go away...');
      var appController = this.controllerFor('application');
      appController.set('dude', '');
    }
  }
});

工作演示 here

关于javascript - 如何在离开页面时触发 ember.js 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372064/

相关文章:

javascript - 将 Div 设置为占用父级的剩余高度,其中的 sibling 有 float 的子级

javascript - Ember.js 嵌套路由

javascript - 在 Canvas 中绘图变得偏移

javascript - 使用 jQuery 对象的理解

javascript - 如何检查 vue.js 数组中是否已存在项目?

javascript - Emberjs 如何绑定(bind) id

unit-testing - Glimmer 中的组件单元测试

ember.js - Ember - 观察与属性(property)冲突

javascript - 在 Ember 1.x 中,如何在 willTransition() 中使用模态

javascript - 如何使用该行中的 onClick 获取一行中的输入数据 - ReactJS