如何从AngularJS中的url参数访问数据

时间:2016-07-04 08:57:03

标签: angularjs web routing

所以基本上我正在开发一个监控系统。当我点击特定应用程序时,我想导航到统计页面并动态加载应用程序统计信息。

因此,在监控页面(example.com/app/#/monitorscreen)脚本中,我有以下代码行:

window.location = "#/applicationstats?application=" + app;

然后导航我:

example.com/app /#/ applicationstats?应用= test123

我的问题是,如何访问参数' application'中保存的数据。以上?换句话说,我如何在屏幕上打印' test123'

3 个答案:

答案 0 :(得分:0)

考虑切换到ng-route或更好的ui-router。 它具有您正在寻找的所有功能,包括stateParmas(从url访问参数)

https://angular-ui.github.io/ui-router/site/#/api/ui.router

答案 1 :(得分:0)

你应该使用RouteProvider和RouteParams

检查这个答案: How to get the url parameters using angular js

答案 2 :(得分:0)

在路由文件中,为ng-route包含 $ routeProvider ,为ui-route包含 $ stateProvider

 $routeProvider.when('/view1/:param1/:param2', {
        templateUrl: 'partials/partial1.html',    
        controller: 'MyCtrl1'
    });

$stateProvider.state('partials', {
    url: '/partials/:param1/:param2',
    controller: 'MyCtrl1',
    templateUrl: 'partials/partial1.html'
});

然后在你的控制器中为ng-route注入 $ routeParams ,为ui-route注入 $ stateParams

.controller('MyCtrl1', ['$scope','$routeParams', function($scope, $routeParams) {
  var param1 = $routeParams.param1;
  var param2 = $routeParams.param2; //change here from param1 to param2
  ...
}]);

.controller('MyCtrl1', ['$scope','$stateParams', function($scope, $stateParams) {
  var param1 = $stateParams.param1;
  var param2 = $stateParams.param2; //change here from param1 to param2
  ...
}]);