我正在开发一个应用,我希望多次重复使用单个视图模板,并在不同的网页/路由上略有不同。
例如,如果我有类似“玩具”和“女装”的类别,每个页面将具有相同的布局,但会有不同的过滤选项等。
我认为最好的方法是在模板中使用动态ng-controller指令。
我无法弄清楚如何将类别从路由提供者传递到视图以使ng-controller动态...
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/products/:category', {
templateUrl: '/views/products.html',
controller: 'productsController'
// pass :category param to productsController
});
}]);
app.controller('productsController', ['$scope', function($scope) {
// get the parameter
// do something to set the proper filter section from the parameter:
// i.e women's clothing would contain filter by size, material, type, etc, toys would not
}]);
或者我接近这一切都错了?我不想重新编写每个视图的代码,因为它们会有很小的变化。
答案 0 :(得分:2)
如果使用默认ngRouter,则注入import
,如果使用ui-router,则注入$routeParams
。类别将在注入的对象中可用