Javascript Angular.js ng在不知道密钥的情况下重复筛选
我在ng repeat中筛选JSON文件时遇到问题 下面是我代码中的JSON数据,它来自FirebaseJavascript Angular.js ng在不知道密钥的情况下重复筛选,javascript,angularjs,json,Javascript,Angularjs,Json,我在ng repeat中筛选JSON文件时遇到问题 下面是我代码中的JSON数据,它来自Firebase { "850": { "buttonText": "Button TST", "description": "", "documentNumber": "850", "language": "fi", "special": false, "newOrder": 99000500850 }, "851": { "buttonText":
{
"850": {
"buttonText": "Button TST",
"description": "",
"documentNumber": "850",
"language": "fi",
"special": false,
"newOrder": 99000500850
},
"851": {
"buttonText": "eng ButtonTXT",
"description": "I would like to get this",
"documentNumber": "851",
"language": "en",
"special": false,
"newOrder": 99000500851
},
"852": {
"buttonText": "MORE FInnish button text",
"description": "Oh my",
"documentNumber": "852",
"language": "fi",
"special": false,
"newOrder": 99000500015
}
}
JSON数据存储在$ctrl.documentMatrixFirebase中。下面是Angular.js HTML。它是一个组件,除了过滤部分之外,它做我想做的事情
<google-docs-card
layout="column"
ng-repeat="docButton in $ctrl.documentMatrixFirebase |
orderObjectBy:'newOrder' track by docButton.newOrder "
document-data="docButton"
subject="$ctrl.subject"
id="docnum_{{docButton.documentNumber}}"></google-docs-card>
下面是我在没有运气的情况下尝试用于过滤的代码
<google-docs-card
layout="column"
ng-repeat="docButton in $ctrl.documentMatrixFirebase |
filter:docButton.language:'en' |
orderObjectBy:'newOrder' track by docButton.newOrder "
document-data="docButton"
subject="$ctrl.subject"
id="docnum_{{docButton.documentNumber}}"></google-docs-card>
如果可能的话,我希望避免为这么简单的工作添加自定义过滤器。看起来AngularJs to Array filter解决了这个问题: 我按照说明安装了数组过滤器,并像这样在HTML中使用它
<google-docs-card
layout="column"
ng-repeat="docButton in $ctrl.documentMatrixFirebase
| toArray:false | filter: {language: 'en'}
| orderObjectBy:'newOrder' track by docButton.newOrder"
document-data="docButton"
subject="$ctrl.subject"
id="docnum_{{docButton.documentNumber}}"></google-docs-card>