从官方文档中我从angular js filter API学到的东西,我看到过这样的东西。
<label>Any: <input ng-model="search.$"></label> <br>
<label>Name only <input ng-model="search.name"></label><br>
<label>Phone only <input ng-model="search.phone"></label><br>
<label>Address only <input ng-model="search.address"></label><br>
<ul>
<li ng-repeat="contact in contacts | filter:search>
{{contact.name}}, {{contact.phone}}...
</li>
</ul>
&#13;
现在,假设我想添加一个新输入,用户只能搜索名称和电话,并保留以前的输入搜索,我该怎么办。实施后的意思是我将有五个搜索输入,用户可以通过任何搜索输入,仅限姓名,仅限电话,仅限地址或姓名或电话进行搜索。五个搜索输入必须是可见的并且对用户可用,并且不能被禁用。
请忽略这样做是否合乎逻辑并假设这是一个明确的要求。
我希望会有这样的事情,但它不会起作用
<label>Any: <input ng-model="search.$"></label> <br>
<label>Name only <input ng-model="search.name"></label><br>
<label>Phone only <input ng-model="search.phone"></label><br>
<label>Address only <input ng-model="search.address"></label><br>
<label>Name or phone only <input ng-model="search.name || search.phone"></label><br>
<ul>
<li ng-repeat="contact in contacts | filter:search>
{{contact.name}}, {{contact.phone}}...
</li>
</ul>
&#13;
答案 0 :(得分:0)
如果您的过滤器处于搜索状态,您可以创建一个搜索名称或电话输入字段的新属性吗?所以你可以这样做:
<label>Name or phone only <input ng-model="search.nameOrPhone"></label>
或者它必须是search.name / search.phone吗? 根据输入实现分配到search.name / search.phone是非常狡猾的,但是可以做到。你可以创建一个ng-change函数,用reg-ex检查输入,然后分配search.name或search.phone。