Vistas parciais no AngularJS
Sou novo na Angular e gostaria de receber algum conselho. Basicamente, eu tenho um relacionamento com muitos - umCategory
tem váriosProduct
, Eu tenho a página de layout onde processo diferentes visualizações parciais:
<div class="mainContent">
<ng-view></ng-view>
</div>
Minhasprimeiro A exibição mostra a lista de categorias. Quando uma delas é clicada, eu mostro osegundo , separada por duas partes: lista de categorias e lista de produtos de uma categoria específica, esquematicamente se parece com:
Meu problema é que não consigo descobrir como usar outra parcial para a lista de produtos, porque quero mantê-los em .html separados.
Eu configurei rotas:
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"
});
});
E controladores:
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
});
Então no meuprimeiro Visão -category.html
, Eu tenho a lista de categorias com hrefs:
<a href="#/category/{{category.id}}">
Nosegundo - categoryDetail.html
, Listo categorias novamente, mas com outros hrefs:
<a href="#/product/{{category.id}}">
E noúltimo Visão -product.html
Eu listo os produtos.
Até agora, quando eu clico na categoria dentrocategoryDetail.html
meuproduct.html
processa emmainContent
div do layout - eu preciso que ele seja processado como parcial interno dentrocategoryDetail.html
. Eu tentei usar<ng-view>
novamente, mas isso não parece estar correto.