私はAngularを初めて利用しています。AngularJSの一部のビュー
<div class="mainContent">
<ng-view></ng-view>
</div>
マイ最初ビュー時に、カテゴリのリストを示しています は基本的に、私はCategory
1一対多relationship-は私が別の部分のビューをレンダリングするレイアウトページを持っているいくつかのProduct
、 を持っています
私の問題は、別々の.htmlファイルに保存したいので、製品のリストに別の部分を使用する方法を理解できないということです。
私はルートを設定した:
app.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/category', {
templateUrl: 'category.html',
controller: 'categoryController as catCtrl'
})
.when('/category/:id', {
templateUrl: 'categoryDetail.html',
controller: 'categoryDetailController as catDetailCtrl'
})
.when('/product/:category_id', {
templateUrl: 'product.html',
controller: 'productController as productCtrl'
})
.otherwise({
redirectTo: "/category"
});
});
とコントローラ:
app.controller("categoryController", function($http)
{
var vm = this;
vm.categories = somedata;
});
app.controller("categoryDetailController", function($http, $routeParams)
{
var vm = this;
vm.category = somedata;//current category from REST api, using $routeParams.id
});
app.controller("productController", function($http, $routeParams)
{
var vm = this;
vm.products = somedata;//product list of current category using $routeParams.category_id
});
は、だから私の最初ビューに - category.html
、私はのhrefを持つカテゴリのリストを持っている:
<a href="#/category/{{category.id}}">
オン二 - categoryDetail.html
が、私は再びが、別のhrefとカテゴリをリスト:
<a href="#/product/{{category.id}}">
そして最後ビュー上 - product.html
私は製品を一覧表示します。私は私のcategoryDetail.html
product.html
内のカテゴリをクリックして今まで
は、代わりに、レイアウトのmainContent
のdivにレンダリングする - 私はそれがcategoryDetail.html
内部のインナー部分としてレンダリングする必要があります。私は<ng-view>
を再度使用しようとしましたが、これは正しいとは思われません。
州を利用しない理由は何ですか?すなわち角度uiルータ?画像の場合は+1 - – Katana24
ngViewの代わりにngIncludeを使用したことはありますか? –
@ Katana24、私はui-routerがより大きなアプリに使用されていることを読んだが、私の製品は非常に小さいですが、製品リストのページングが必要な場合はui-routerを使うべきですか? –