【发布时间】:2014-06-26 18:13:10
【问题描述】:
我想在 AngularJs 中创建一个 typeAhead,并遵循 this tutorial 我已经完成了大部分工作。唯一对我不起作用的是,我希望在您第一次单击该框时显示整个列表,而不是等待输入显示任何内容。
在模板中有
<input type="text" ng-model="model" placeholder="{{prompt}}"
ng-keydown="selected=false"/>
...
<div class="item" ng-repeat="item in items | filter:model track by $index"
ng-click="handleSelection(item[title])" style="cursor:pointer"
ng-class="{active:isCurrent($index)}" ng-mouseenter="setCurrent($index)">
我需要创建一个自定义过滤器,我想它会有点像
.filter('psudoFilter', function($filter){
var original_filter = $filter('filter');
return function(input){
if(input.length === 0){
return // What should I return if I don't want to change the data?
} else {
return original_filter(input_to_filter_items_by); //Filter as usual
}
}
});
我的问题是,内部函数应该返回什么以便在没有输入时不过滤?过滤器如何与其实际过滤的数据交互?
【问题讨论】:
标签: javascript angularjs filter angularjs-ng-repeat