オブジェクトの配列からテーブルを作成する必要がありますが、テーブルをハードコードしたくありません。例えばthisやthisはできません。私はむしろthisのようなネストされたng-repeatsを必要とします。しかし、配列に2つの値を含む列があるので、私の場合は少し異なります。AngularJS:テーブルの行/列にng-repeatのテーブル
[
{
"foo":"bar",...,
"key1":[
"value1",
"value2"
],
"key2":[
"value1",
"value2"
],...,
"more_foo":"more_bar"
},...
]
私は、各キーは、列名である必要があり、表の行の配列から(常に同じ構造を持っている)すべてのオブジェクトの(常に文字列である)の値をしたい:データは次のようになります。
ここtable,
th,
td {
border: 1px solid black;
text-align: center;
border-spacing: 0;
}
td,
th {
padding: 0.5em;
}
<table>
<thead>
<tr>
<th>foo</th>
<th colspan="2">key1</th>
<th colspan="2">key2</th>
<th>more_foo</th>
</tr>
</thead>
<tbody>
<tr>
<td>bar</td>
<td>value1</td>
<td>value2</td>
<td>value1</td>
<td>value2</td>
<td>more_bar</td>
</tr>
</tbody>
</table>
は私が出ているものです:このように、この値は配列とfalseの場合、それがない場合は
<table>
<thead>
<tr>
<th ng-repeat="(propName, prop) in myArray[0]"
colspan="{{isUpdateable(propName) ? 2 : undefined}}"> {{propName}}
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="object in myArray | filter: searchFilter">
<td ng-repeat="(propName, prop) in object" double-col>{{prop}}</td>
</tr>
</tbody>
</table>
isUpdatable(propName)
trueを返します。これにより、この列に2つのtd
があることが可能になります。
ダブルCOLディレクティブ:
app.directive('double-col', function() {
return {
transclude: true,
template: "<td>{{prop[0]}}</td><td class=\"changedProp\">{{prop[1]}}</td>"
};
});
が、私はこのディレクティブがあれば2つのtd
sの既存のtd
を交換するとprop
が配列され、そうでなければprop
を表示するために何もしない場合にのみ必要(上記td
を参照してください) 。
あなたはhttps://stackoverflow.com(人々はまだうまく動作しないものを投稿する場所)にいるので、おそらく私の現在のコードがうまくいっていないと推測できます。私はangularJSも新しく、基本的にカスタムディレクティブ(おそらく他のほとんどのものも)を理解していないので、誰かがこの問題を手伝って説明することができればうれしいです。