2016-05-13 3 views
0

配列があるとします:
[{name: 'a'、表示: 'obj.a === "1}}、{name: b '、display:true}]
プロパティ表示の実際の値で配列をフィルタリングできますか?
のangularjs、式を含むプロパティで配列をフィルタリングする方法

angular.module('myApp', []) 
 
.controller('MyController', ['$scope', function ($scope) { 
 
    $scope.obj = {}; 
 
    $scope.arr = [{name: 'a', display: 'obj.a==="1"'}, {name: 'b', display: true}]; 
 
}]) 
 

 
     ;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyController"> 
 
    <input type="text" ng-model="obj.a"> 
 
    <div> 
 
     <span ng-repeat="item in arr|filter:{display: true}">{{item.name}}</span> 
 
    </div> 
 
</div>

+0

はまだ理解カントuが再び説明することができます – Dhiraj

答えて

0

このヘルプあなたを願っています。幸運

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyController"> 
 
    <input type="text" ng-model="obj.a"> 
 
    <div> 
 
     <span ng-repeat="item in arr|regex:'display':regex_check">{{item.name}}</span> 
 
    </div> 
 
</div> 
 
<script> 
 
\t app = angular.module('myApp', []); 
 
\t app.controller('MyController', ['$scope', function ($scope) { 
 
\t \t $scope.regex_check = '"[1]"'; 
 
\t $scope.obj = {}; 
 
\t $scope.arr = [{name: 'a', display: 'obj.a==="1"'}, {name: 'b', display: true}]; 
 
\t }]) 
 
\t 
 
\t app.filter('regex', function() { 
 
\t return function(input, field, regex) { 
 
\t \t var patt = new RegExp(regex);  
 
\t \t var out = []; 
 
\t \t for (var i = 0; i < input.length; i++){ 
 
\t \t \t if(patt.test(input[i][field])) 
 
\t \t \t \t out.push(input[i]); 
 
\t \t } 
 
\t \t return out; 
 
\t }; 
 
\t }); 
 
</script>

関連する問題