javascript - angularjs 路由可以有默认参数值吗?

标签 javascript angularjs model-view-controller url-routing

我可以在 AngularJS 中设置路由参数的默认值吗?有没有办法让 /products/123/products/ 由同一路由处理?

我正在寻求重构我现有的代码,它看起来像:

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;
}

它可以工作,但不是很优雅。有没有更好的方法?

最佳答案

我知道这个问题很老,但仍然是:为什么不将“空”URL 重定向到包含默认 productId 的 URL?

myModule.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
     when('/products/', {redirectTo: '/products/123'}).
     when('/products/:productId', {templateUrl: 'products.html', controller: ProductsCtrl})
}]);

关于javascript - angularjs 路由可以有默认参数值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12524533/

相关文章:

javascript - 检查对象是否已经在数组中不起作用

javascript - 我如何以 Angular 方式向我的应用程序实现广播

Angularjs:在调用操作之前在 $resource 上设置自定义 header ?

model-view-controller - MVC 中的 [RequireHttps] 不应该做 301 永久重定向吗?为什么它会执行 302(对 SEO 不利?)

javascript - 隐藏框在页面加载时保持隐藏状态

javascript - Blackberry 10 级联来自 javascript 的 ajax 调用总是执行错误函数

Java MVC DAO 实现出现 NullPointerException 错误

javascript - Ember JS - 无法将多个模型加载到具有 belongsTo 关系的路由中

javascript - 限制元素出现在屏幕之外

javascript - 打开街道 map 标记管理器