Javascript 过滤角度中的独立变量
我有一些代码如下所示:Javascript 过滤角度中的独立变量,javascript,angularjs,Javascript,Angularjs,我有一些代码如下所示: <input ng-model="search" type="text"> <td ng-repeat="key in targets"> {{ display_names[key] }} </td> {{display_names[key]} 不能在html中使用筛选器|,因为在迭代的数组中没有要筛选的值。相反,您可以使用ng if根据搜索显示/隐藏元素。比如: <div ng-repeat="key in t
<input ng-model="search" type="text">
<td ng-repeat="key in targets">
{{ display_names[key] }}
</td>
- {{display_names[key]}
不能在html中使用筛选器|
,因为在迭代的数组中没有要筛选的值。相反,您可以使用ng if
根据搜索显示/隐藏元素。比如:
<div ng-repeat="key in targets" ng-if="!search || !!display_names[key].match(search)">
{{ display_names[key] }}
</div>
使用它就像
输入目标| displayNames:display_names:search
你所说的是什么意思?只能迭代角度范围variables@charlietfl不。这并不意味着是一个全局的:p,fixedng if=“display_names[key].indexOf(search)>-1”
=>ng if=“key.indexOf(search)>-1”
但是OP想要过滤值,而不是keys。无论如何,有没有不区分大小写的方法?据我所知,他想要过滤,即“USA”。由于他获得了targets中的所有密钥,他希望访问显示名称[key]
=>“美国”、“墨西哥”等。。据我所知,他不想按“id_01”过滤@维汉:你能澄清一下吗?在使用indexOf
display_names[key].toLowerCase().indexOf(search) > -1
<div ng-repeat="key in targets" ng-if="!search || !!display_names[key].match(search)">
{{ display_names[key] }}
</div>
.filter('displayNames' function () {
return function (key, names, search) {
return !search || !!names[key].match(search);
};
});