2017-06-30 2 views
0

ng-repeatでJSONファイルをフィルタリングする際に問題が発生しています。ここでAngular.jsキーを知らないng-repeatフィルタ

私のコードであるJSONデータをFirebase

{ 
"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> 

可能であれば、このような単純なジョブにカスタムフィルタを追加しないようにしたいと考えています。私は指示に従った配列フィルターを設置し、このようにHTMLでそれを使用 https://github.com/petebacondarwin/angular-toArrayFilter

答えて

0

は、ArrayフィルタへのAngularJsは、問題を解決したように見えます。

<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> 
関連する問題