Tôi có thể đặt giá trị mặc định của thông số của tuyến đường trong AngularJS không? Có cách nào để có /products/123
và /products/
được xử lý bởi cùng một tuyến đường không?Tuyến đường angularjs có các giá trị tham số mặc định không?
tôi đang tìm cách để cấu trúc lại mã hiện tại của tôi, trông giống như:
myModule.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/products/', {templateUrl: 'products.html', controller: ProductsCtrl}).
when('/products/:productId', {templateUrl: 'products.html', controller: ProductsCtrl})
}]);
function ProductsCtrl($scope, $routeParams) {
$scope.productId = typeof($routeParams.productId) == "undefined" ? 123 : $routeParams.productId;
}
Nó hoạt động, nhưng nó không phải là rất thanh lịch. Có cách nào tốt hơn ?
Không quen thuộc với angularJS, nhưng những gì về 'var param = {templateUrl: 'products.html', bộ điều khiển : Sản phẩmCtrl}; $ routeProvider.when ('/ products /', param) .when ('/ products /: productId', param) '? – Rufus
Bạn có thể đơn giản hóa mã điều khiển của mình một chút với: $ scope.productId = $ routeParams.productId || 123; – Gloopy
@Gloopy khóa học này hoạt động nếu productId == 0 không phải là id hợp lệ –