gpt4 book ai didi

javascript - 在 Angular 中过滤单独的变量

转载 作者:行者123 更新时间:2023-11-30 12:12:10 25 4
gpt4 key购买 nike

所以我有一些看起来像这样的代码:

<input ng-model="search" type="text">

<td ng-repeat="key in targets">
{{ display_names[key] }}
</td>

更清楚一点:

  • targets 是一个包含非人类可读 ID 的变量,例如 key012

  • display_names 是一个对象,其键如下:key012: "USA"


我想从搜索中过滤 display_names 值?查看 angularjs 文档,我知道我可以过滤 key,但我还不知道如何过滤 display_names


例子

这是一个完整的例子:

 var TS = angular.module('myapp', []);

TS.controller('test', function($scope) {
$scope.targets = ["id_1", "id_2"];
$scope.display_names = {
"id_1": "USA",
"id_2": "Mexico"
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="myapp" ng-controller="test">
<input ng-model="search" placeholder="Search...">

<ul>
<li ng-repeat="key in targets">{{display_names[key]}}</li>
</ul>
</body>

最佳答案

<td ng-repeat="key in targets">
<span ng-if="display_names[key].indexOf(search) > -1">{{ display_names[key] }}</span>
</td>

使用ng-if,或者您也可以使用ng-show。差异 here

这样,当您在搜索中写入时(应该在 $scope.search 中)angular 将刷新 ng-repeat 值以显示

如果你想搜索不区分大小写,你可以在使用 indexOf 之前使用 toLowerCase() 函数

display_names[key].toLowerCase().indexOf(search) > -1

关于javascript - 在 Angular 中过滤单独的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com