https://jsfiddle.net/n4qq4vxh/97/トリッキーネストされたNG-繰り返し
私は車を作ったときに、選択したパッケージを記述するためのテーブルを構築しています。ダークグレーはパッケージ全体(すなわち高級パッケージ)であり、明るい灰色は現在パッケージに含まれているアイテムです。最後に、ニンジンの列は、現在パッケージに入っているものを置き換えることができる「代替」オプションです。たとえば、「Leather Dakota Saddle Brown Stitching」をクリックすると、「Oyster Dakota Leather」が置き換えられます。すべて正常に動作しますが、別の方法で表示する必要があります。
最後にすべての選択肢の一覧だけではなく、現在選択されている各項目(該当する場合)の正しい親を選択して表示する必要があります。たとえば、代替リムは選択したリムの下に直接表示する必要があります。選択した革の下に別の革を直接表示する必要があります。
私のコードを投稿すると多くの助けになりますが、下をご覧ください。基本的に私が探しているのは、現在のパッケージ内容を繰り返して、それが革、車輪などであるかどうかを比較する方法があるかどうかを調べることです。代わりに選択肢の繰り返しが終了したら、パッケージで選択されている次の項目に戻ります。私はこれを使いこなしてみたが、解決策や戦略を見つけることはできないようだ。
私はそれが見えるしたいと思いますどのように:
ラグジュアリーパッケージ
- パッケージアイテム:18" リム
- Altキーアナル1
- Altキーアナル2
- Altキーアナル3
- パッケージアイテム:ダコタレザー
- Altキー革1
- Altキー革2
- Altキーレザー3
<tbody ng-repeat="package in allOptions | orderBy: 'listPrice'" ng-if="package.isPackage">
<tr class="hover" ng-class="{'selected':isSelected(package)}" ng-click="addRemoveOption(package)" **MAIN PACKAGE **>
<td> {{ package.code }} </td>
<td> {{ package.name }} </td>
<td> {{ package.listPrice | currency }} </td>
<td> {{ package.disclaimer }} </td>
<td> {{ package.salesGroup.name }} </td>
<td> {{ package.optionPrev }} </td>
<td> {{ package.familyCode }} </td>
</tr>
<tr ng-repeat="item in package.packageItems" ng-class="{'nested-selected':isSelected(package)}" id="nested" ** CURRENT PACKAGE CONTENT **>
<td> {{ item.code }} </td>
<td> {{ item.name }} </td>
<td> {{ item.comboPrice | included }} </td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<!-- ng-if="hasAlternatives(package.packageItems)" -->
<tr ng-if="package.packageItems.alts.length" class="nested-alt" ng-repeat="alt in package.packageItems.alts" ng-click="addPackageOption(alt,package)" ng-hide="!isSelected(package)">
** ALTERNATIVES **
<td><span class="glyphicon glyphicon-menu-right" ng-click="addPackageOption(alt,package)"></span></td>
<td> {{ alt.code }} </td>
<td> {{ alt.name }} </td>
<td> {{ alt.price | included }} </td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
あなたが行ったことの真実を投稿できますか? –
@Gonzaloあまりにも長い時間をかけて申し訳ありません! https://jsfiddle.net/n4qq4vxh/97/ - 私はこの時点でスタイルや嫌なことは心配していません。データを正しく表示する方法を知りたいだけです:) – reedb89