我正在尝试MEAN(mean.io)。我正在使用这样的搜索模型(基本上像this):
<section data-ng-controller="JobsController" data-ng-init="find()">
Search: <input ng-model="search.$"><br>
Search Tag: <input ng-model="search.tag">
<ul class="jobs unstyled">
<li id="searchObjResults" data-ng-repeat="jobObj in jobs | filter:search">
<span>{{jobObj.created | date:'medium'}}</span> /
<span>{{jobObj.user.name}}</span>
<h2><a data-ng-href="#!/jobs/{{job._id}}">{{jobObj.title}}</a></h2>
<div>{{jobObj.content}}</div>
<div>{{jobObj.reward}}</div>
<div>{{jobObj.tag}}</div>
</li>
</ul>
</section>
正在使用JobsController
,具体而言 - find
中定义的JobsController
函数在加载时被调用。这是函数:
$scope.find = function() {
Jobs.query(function(jobs) {
$scope.jobs = jobs;
});
};
当我使用第一个输入搜索某些内容时,在“搜索:”旁边 - 如果我输入内容,则会过滤,当我从输入中删除所有内容时,整个未过滤的数据库会再次显示。
但是,当我使用“搜索标记:”旁边的输入时 - 一旦我从输入字段中删除了所有内容,它就不会将列表重新填充到未过滤状态。我必须刷新页面才能获得未经过滤的列表。
示例here底部有一个演示,非常接近我的演示,但是在演示中 - 它会在您从“仅限名称”或“仅限电话”中删除输入后重新填充列表 - 是我希望它与search.tag
一起使用的方式。