Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用嵌套对象属性筛选ng repeat在Angularjs应用程序中不起作用_Javascript_Angularjs_Angularjs Directive_Angularjs Ng Repeat - Fatal编程技术网

Javascript 使用嵌套对象属性筛选ng repeat在Angularjs应用程序中不起作用

Javascript 使用嵌套对象属性筛选ng repeat在Angularjs应用程序中不起作用,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有以下json $scope.accountsList = [ { "id": 1, "number": "AFRC1234", "name": "ACFRYTE431", "postalCode": "76565", "invoices": null, "courier": { "id": 1, "name": "UPS" }, "client": {

我有以下
json

$scope.accountsList = [    {
      "id": 1,
      "number": "AFRC1234",
      "name": "ACFRYTE431", 
      "postalCode": "76565",
      "invoices": null,
      "courier": {
        "id": 1,
        "name": "UPS"
      },
      "client": {
        "id": 1,
        "code": "FREG",
        "name": "Feranget"
      }
    } ]
我正在过滤
ng repeat
as

<tr ng-repeat="account in accountsList | filter:{ number: accountSearch.accountNumber,  name: accountSearch.accountName, client.name : accountSearch.clientName}">
如果我删除
client.name:accountSearch.clientName
,在ng重复筛选条件中,
accountsList
将根据
accountNumber
accountName
正确筛选。但当我在ng重复筛选条件中包含,
client.name:accountSearch.clientName
时,控制台中会显示以下错误,并且不会对
accountsList
进行筛选

Error: [$parse:syntax] Syntax Error: Token '.' is unexpected, expecting [:] at column 66 of the expression [accounts | filter:{ number: accountSearch.accountNumber,   client.name : accountSearch.clientName }] starting at [.name : accountSearch.clientName }].
http://errors.angularjs.org/1.4.3/$parse/syntax?p0=.&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=66&p3=accounts%20%7C%20filter%3A%7B%20number%3A%20accountSearch.accountNumber%2C%20%20%20client.name%20%3A%20accountSearch.clientName%20%7D&p4=.name%20%3A%20accountSearch.clientName%20%7D
minErr/<@http://localhost:8080/bower_components/angular/angular.js:68:12
AST.prototype.throwError@http://localhost:8080/bower_components/angular/angular.js:12881:1
AST.prototype.consume@http://localhost:8080/bower_components/angular/angular.js:12893:1
AST.prototype.object@http://localhost:8080/bower_components/angular/angular.js:12870:9
Error:[$parse:syntax]语法错误:标记“.”是意外错误,应在表达式[accounts | filter:{number:accountSearch.accountNumber,client.name:accountSearch.clientName}的第66列处出现[:]个字符,从[.name:accountSearch.clientName}]开始。
http://errors.angularjs.org/1.4.3/$parse/syntax?p0=。&p1=是%20意外的%2C%20预期的%20%5B%3A%5D&p2=66&p3=帐户%20%7C%20筛选器%3A%7B%20number%3A%20accountSearch.accountNumber%2C%20%20%20client.name%20%3A%20accountSearch.clientName%20%7D&p4=.name%20%3A%20accountSearch.clientName%20%7D

Miner/像这样使用内嵌过滤器可以解决问题

<div ng-repeat="account in accountsList | filter:{ number: accountSearch.accountNumber,  name: accountSearch.accountName, client :{ name: accountSearch.clientName} }">

这是正在工作的plnkr检查这个

<div ng-repeat="account in accountsList | filter:{ number: accountSearch.accountNumber,  name: accountSearch.accountName, client :{ name: accountSearch.clientName} }">