gpt4 book ai didi

javascript - 使用 AngularJS 过滤搜索结果

转载 作者:行者123 更新时间:2023-12-03 05:13:05 25 4
gpt4 key购买 nike

一个简单的问题:

我正在 angularjs 中创建一个过滤器来动态获取变量并从前端像这样使用。

<div ng-if="(services | searchValue : 'type' : 'facebook').active == true">
...
</div>

这是 JavaScript。

.filter('searchValue', function () {
return function (array, name_var, value) {
angular.forEach(array, function(v, k) {
if (v[name_var] == value) {
return v;
}
});
return [];
};
})

不幸的是,即使找到结果,它也没有传递到模板。

如果我像这样使用它:

{{(services | searchValue : 'type' : 'facebook')}}

这将没有任何值(value)。有什么建议吗?

最佳答案

我已经为您提供的信息创建了一个示例。运行以下示例检查。希望这对您有帮助。

我猜 ng-if 本身只需要变量而不是表达式。仅提供变量值,即 (services | searchValue : 'type' : 'facebook').active 不是表达式

var app = angular.module('application', []);

app.filter('customfilter', function() {
return function(array, name_var, value) {
var filteredArray = {};
angular.forEach(array, function(v, k) {
if (v[name_var] == value) {
filteredArray = v;
return false;
}
});
return filteredArray;
}

});
app.controller('sampleController', function($scope, $filter) {
$scope.data = [{
"type": "facebook",
"active": false
}, {
"type": "linkedin",
"active": false
}, {
"type": "twitter",
"active": false
}, {
"type": "google",
"active": false
}];

$scope.anotherdata = [{
"type": "facebook",
"active": true
}, {
"type": "linkedin",
"active": false
}];
});
<script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.17/angular.js" data-semver="1.3.17"></script>

<body ng-app="application">
<div ng-controller="sampleController">

First div - Active : false
<div ng-if="(data | customfilter:'type':'facebook').active">
Your div content goes over here
</div>
<br>
<br>Second div - Active : true
<div ng-if="(anotherdata | customfilter:'type':'facebook').active">
Second div rendered
</div>
</div>
</body>

关于javascript - 使用 AngularJS 过滤搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725026/

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