AngularJSを学び始め、これまでに学んだことを使って基本的な製品ギャラリーをモックアップすることに決めました。現在、私は3つのテンプレート(カテゴリー・リスト、カテゴリー・リスト内の製品および製品概要)を持つシンプルな製品ギャラリーを持っています。私がしたいのは、条件付きの何らかの設定です。選択したカテゴリの製品にサブカテゴリがある場合、category-list
テンプレートを使用してサブカテゴリのリストが表示されます。サブカテゴリがない場合は、そのままproduct-list
テンプレートに移動します。AngularJS製品ギャラリーで条件付きサブカテゴリを処理する方法
私はcreated this Plunkerを持っています。
上記の例では、誰かが「車」をクリックすると、category-list
テンプレートを使用してサブカテゴリのリストを表示します。 「車」をクリックすると、4-door
と2-door
の2つのボタンが表示されます。これらのボタンの1つをクリックすると、product-list
テンプレートを使用して、それらのサブカテゴリの商品が表示されます。しかし、最初の画面から「トラック」をクリックすると、トラックにサブカテゴリがないため、product-list
テンプレートに直接移動できます。ここで
<section id="categories" ng-hide="productsVisible">
<div ng-repeat="product in vm.products" class="category">
<div ng-click="vm.selectCategory(product); showProducts();">
<button>{{product.category}}</button>
</div>
</div>
</section>
そして、ここに私の製品リストテンプレートです:
<section id="products" ng-show="productsVisible">
<div ng-repeat="product in vm.selectedCategory.items" class="product">
<a href ng-click="vm.selectProduct(product); showResults();">{{product.name}}</a>
</div>
</section>
完璧、ありがとう! – user13286