路由参数为空
routeParams are Empty
我正在尝试使用以下$routeParams获取URL参数:
var myApp = angular.module('myApp', [
'ngRoute',
'appControllers',
'appFilters',
'appServices'
]).config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/admin/organisations/:organisation_id', {
controller: 'UpdateOrganisationCtrl'
});
}]);
在我的控制器中:
appControllers.controller('UpdateOrganisationCtrl', ['$rootScope', '$scope', '$http', '$window', '$routeParams',
function($rootScope, $scope, $http, $window, $routeParams) {
console.log($routeParams.organisation_id);
}]);
但是我正在打印undefined
$routeParams
{}
有什么想法吗?
您尝试访问的网址应该是
本地主机:3000/#/admin/organisations/56CDE4BF911747EA200d5a63
ngRoute
将使您的应用程序成为单页应用程序,其中路由器URL的相关部分将在#
之后(漂亮地称为hashbang
)。
看例子:
//鉴于:
网址: http://server.com/index.html#/Chapter/1/Section/2?search=moby
路由:/章/:章节 ID/节/:节
然后
$routeParams ==> {章节 ID:'1', 部分 ID:'2', 搜索:'moby'}
但是,如果您使用HTML5Mode进行角度服务$location则您提供的URL可能会起作用。
有关详细信息,请参阅这些链接:
- 没有哈希"#"的 AngularJS 路由
- 使用$location
相关文章:
- 有没有办法用routerLink/router.navigation附加查询/路由参数
- Nodejs-使用regex将多个参数添加到路由中
- 如何停止Angular UI路由器将可选参数从一个路由传递到完全不同的路由
- 如何在JavaScript中获取路由参数
- 带斜杠-中断路由的节点JS路由参数
- 在backbone.js中路由视图时传递一个参数
- 将附加参数传递给路由(expressjs)
- AngularJS:转发到登录页面进行身份验证,保留路由作为GET参数
- React路由器参数化路由:SyntaxError:预期表达式,得到'<'
- (多个)路由参数的集合
- 处理Ember.js默认路由之外的页面URL哈希参数
- Web Api 2属性路由和Angular JS参数
- express/如何将路由参数传递到其他文件
- 使用ui路由器在URL路由中创建一个必需的参数
- 无法获取用户 ID 路由参数以在反应路由器中继上工作
- 使用可选参数和默认模型定义路由
- AngularJS路由:URL中不必要的参数
- 从路由网址中提取参数
- ExpressJS用不同的参数路由
- $routeProvider不传递搜索参数路由