2017-07-14 10 views
-5

マイテンプレートコード:JSONをフォローするためのng-repeatの書き方は?

 <tr ng-repeat="row in dataList"> 
      <tr ng-repeat-start="row in dataList[$index].data" ng-if="dataList.data.[columnDisplayData[$index].colName].showRow"> 

マイJSONデータオブジェクト

{ 
    "reportId":1, 
    "tableData": 
    [ 
     { 
     "data":{ 
      "data":[ 
       { 
        "Comp Set(Group)":{ 
        "showRow":true, 
        "row":{ 
         "sunday":7.1, 
         "saturday":19.1, 
         "total":"19.3", 
         "tuesday":23.4, 
         "weekend":"19.9", 
         "weekday":"19.0", 
         "friday":20.7, 
         "thursday":23.2, 
         "wednesday":23.4, 
         "monday":17.9 
        } 
        }, 

        "%C(Transient)C":{ 
        "showRow":true, 
        "rowName":"per_C_ransient_C", 
        "row":{ 
         "sunday":"-15.5", 
         "saturday":"18.9", 
         "total":"-4.5", 
         "tuesday":"-14.4", 
         "weekend":"12.6", 
         "weekday":"-11.4", 
         "friday":"6.4", 
         "thursday":"2.1", 
         "wednesday":"-21.2", 
         "monday":"-7.8" 
        } 
        } 
       } 
      ] 
     }, 
     "hotelName":"XYZ" 
     }, 

    ... 

    ] 
} 

私は、後に続いhotelNameng-repeatデータアレイのng-repeatを使用します。 まず、ng-repeathotelNameと同じjsonObjectのデータ。 お願いします。

表に記載された以下の私の予想されるフォーマットは、ようにする必要があり、

hotelName    
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday 
data data  

hotelName       
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday 

hotelName       
Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday 
+3

[ask]と[mcve]を読んでください。 – charlietfl

+0

あなたのJSONのどこにでも存在するsunday、moday、tuesdayなどの値は何ですか? sunday、monday etcのインスタンスがMy Property(Group)、Comp Set(Contract)、%C(Transient)Cなどの各キーに存在することを参照してください。どちらが欲しいですか? – Vivz

+0

まず、hotelNameにng-repeatがあり、次に "data" jsonObjとdagainに別のjsonObjに行く必要があります。 –

答えて

0

使用このコントローラ内の関数とは、呼び出すこと$scope.arrng-repeat


$ scope.arr =新しいアレイ() ; $ scope.setData =関数(){

for(i = 0 ; i < $scope.dataList.tableData.length ; i++){ 


    for(j= 0 ; j < $scope.dataList.tableData[i].data.data.length ; j++){ 
     $scope.arr[i] ={"hotelName":$scope.dataList.tableData[i].hotelName , "days":$scope.dataList.tableData[i].data.data[j]['Comp Set(Group)'].row}; 
    } 
} 

}


ビュー:

ホテル 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日総 週末平日
{{data.hotelName}} {{data.days.monday}} {{data.days.tuesday}} {{data.days.wednesday {{data.days.thursday}} {{data.days.thursday}} }} {{data.days.weekend}} {{data.days.weekday}}
+0

フォーマットの一部を修正する必要があります。そうでなければ、答えは良く見え、理論的にはうまくいくはずです。私は答えがうまくいくことを願っており、彼らはプロジェクトに沿って動くことができます。 –

+0

ありがとうAvnesh、しかしHTMLのng-repeatについてはどうですか? –

+0

@ShubhamDeshmukhはこれをチェックします...私はほとんど変更を加えませんでした。 –

0

ng-repeatに少し誤解があります。

ng-repeatから前に解析されたオブジェクトは、後でng-repeatに渡すことができます。あなたのhtmlでこれを書いて

$scope.data = { 
    key1: {}, 
    key2: {} 
} 

:あなたが何かを持っている場合はそう

<tr ng-repeat="d in data"> 
    <td ng-repeat="(key, value) in d"> 
     {{key}}: {{value}} 
    </td> 
</tr> 

の意味:「ねえ角度は、最初ng-repeatでくれ$scope.dataにあるすべてのオブジェクトを与えるとtrを作成それぞれのために、次に、ng-repeat私に最初にng-repeatで与えたオブジェクトのすべてのキーと関連する値を与えて、それぞれのために 01を作成してくださいとにかく、あなたの目標に達するためには、plunkrのようにあなたのテーブルにテーブルを入れ子にする必要があります。この方法で、あなたはあなたのjsonであなたが望むビューを得ることができます。

関連する問題