Angularjs ng-repeat 过滤器适用于 v1.0.1 而不是 v1.3.7
Angularjs ng-repeat filter works in v1.0.1 not v1.3.7
在这个例子中http://plnkr.co/edit/blAbw9eKiUpJWxSvHtmj?p=preview
<html ng-app="Testing">
<head>
<meta charset="utf-8" />
<script data-require="angular.js@1.3.7" data-semver="1.3.7" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"></script>
<!-- <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.js"></script> -->
<script src="script.js"></script>
</head>
<body ng-controller="TestContr">
Search in contacts: <input ng-model="filterQuery" />
<br />
<br />
<ul ng-repeat="md in mydata | filter:filterQuery">
<li>{{md.company}} ({{md.city}} || {{md.customer_id}})
<ul ng-repeat="sub in md.contacts | filter:filterQuery">
<li>{{sub.name}} ({{sub.phone}})</li>
</ul>
</li>
</ul>
</body>
</html>
var app = angular.module('Testing', []);
app.controller('TestContr', function($scope) {
$scope.mydata = [
{
"company":"Test Company",
"city":"New York",
"customer_id":"123",
"contacts":[
{
"phone":"0129385439",
"name":"Frank"
},
{
"phone":"0129385444",
"name":"Mary"
}
]
},
{
"company":"Example Ltd.",
"city":"Tokyo",
"customer_id":"353",
"contacts":[
{
"phone":"0081123456879",
"name":"Matsumoto"
}
]
},
{
"company":"B.I.G. Inc.",
"city":"Dehli",
"customer_id":"763",
"contacts":[
{
"phone":"00454621011",
"name":"John"
},
{
"phone":"00454621077",
"name":"Franky"
},
{
"phone":"00454621015",
"name":"Marc"
},
{
"phone":"00454621001",
"name":"Anna"
}
]
}
];
});
我正在尝试过滤数据列表及其子列表数据。我注意到它按预期工作,如果我尝试在 Angular v1.0.1 中搜索 'Anna',但在 Angular v1.3.7 中搜索不到。 (取消注释示例中的 1.0.1 版本脚本标记以查看其是否按预期工作)
我的问题是在使用 Angular v1.3.7 时需要在页面上更改什么才能像在 Angular v1.0.1 中一样正确过滤?
您可以使用 1.3.8 吗?如您所愿。
请参阅以下内容:http://plnkr.co/edit/l70aA2Q2OYrVwhZB41Qr?p=preview
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
在这个例子中http://plnkr.co/edit/blAbw9eKiUpJWxSvHtmj?p=preview
<html ng-app="Testing">
<head>
<meta charset="utf-8" />
<script data-require="angular.js@1.3.7" data-semver="1.3.7" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"></script>
<!-- <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.js"></script> -->
<script src="script.js"></script>
</head>
<body ng-controller="TestContr">
Search in contacts: <input ng-model="filterQuery" />
<br />
<br />
<ul ng-repeat="md in mydata | filter:filterQuery">
<li>{{md.company}} ({{md.city}} || {{md.customer_id}})
<ul ng-repeat="sub in md.contacts | filter:filterQuery">
<li>{{sub.name}} ({{sub.phone}})</li>
</ul>
</li>
</ul>
</body>
</html>
var app = angular.module('Testing', []);
app.controller('TestContr', function($scope) {
$scope.mydata = [
{
"company":"Test Company",
"city":"New York",
"customer_id":"123",
"contacts":[
{
"phone":"0129385439",
"name":"Frank"
},
{
"phone":"0129385444",
"name":"Mary"
}
]
},
{
"company":"Example Ltd.",
"city":"Tokyo",
"customer_id":"353",
"contacts":[
{
"phone":"0081123456879",
"name":"Matsumoto"
}
]
},
{
"company":"B.I.G. Inc.",
"city":"Dehli",
"customer_id":"763",
"contacts":[
{
"phone":"00454621011",
"name":"John"
},
{
"phone":"00454621077",
"name":"Franky"
},
{
"phone":"00454621015",
"name":"Marc"
},
{
"phone":"00454621001",
"name":"Anna"
}
]
}
];
});
我正在尝试过滤数据列表及其子列表数据。我注意到它按预期工作,如果我尝试在 Angular v1.0.1 中搜索 'Anna',但在 Angular v1.3.7 中搜索不到。 (取消注释示例中的 1.0.1 版本脚本标记以查看其是否按预期工作)
我的问题是在使用 Angular v1.3.7 时需要在页面上更改什么才能像在 Angular v1.0.1 中一样正确过滤?
您可以使用 1.3.8 吗?如您所愿。
请参阅以下内容:http://plnkr.co/edit/l70aA2Q2OYrVwhZB41Qr?p=preview
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>