【发布时间】:2014-10-23 07:24:42
【问题描述】:
我会尽量简化这个问题,
但我需要我的 handlebar.js' {{input value="searchTerm"}} 在每次 URL 更改时将 searchTerm 的值设置为“null”。
上述输入旨在自动过滤同一页面上的列表。在输入中键入会自动将“searchTerm”的值更新为键入的任何内容
值 searchTerm 定义在这个名为 searchResults 的操作中
这是控制器中的一个属性:
searchResults: function() {
var searchTerm = this.get('searchTerm');
var regExp = new RegExp(searchTerm, 'i');
// We use `this.filter` because the contents of `this` is an array of objects
var filteredResults = this.filter(function(category) {
return regExp.test(category.get('categoryName'));
});
return filteredResults;
}.property('@each.categoryName', 'searchTerm'),
所以分解我需要的东西:
- 不管
searchTerm的当前值是多少,都需要设置为''。 - 将 searchTerm 的值设置为 ' ' 仅在页面转换时发生
【问题讨论】:
-
您正在寻找
Route#willTransition。在你的路由中为该事件实现一个处理程序 -
好吧,这样可能会留下一个问题:在 willTransition 中将 searchTerm 的值设置为 ' '。我如何将 searchTerm 的值(在控制器的属性中定义)设置为我的路由中 willTransition 函数内部的“”。
标签: javascript ember.js properties ember-router