Javascript 如何在angularjs中获取url参数?
我一直试图在Angular中获取url参数,但这不是一个单页应用程序。我尝试了下面的代码片段Javascript 如何在angularjs中获取url参数?,javascript,angularjs,Javascript,Angularjs,我一直试图在Angular中获取url参数,但这不是一个单页应用程序。我尝试了下面的代码片段 www.example.com?param1=ABC 在控制器中注入$location,然后 var paramValue= $location.search().param1; 在上述情况下,paramValue未定义。但是,如果我将url更改为 www.example.com#?param1=ABC(在URL中添加)它可以工作 但是,我不想这样做,因为它打破了页面,因为它不是SPA 有人能提出一
www.example.com?param1=ABC
在控制器中注入$location
,然后
var paramValue= $location.search().param1;
在上述情况下,paramValue未定义。但是,如果我将url更改为
www.example.com#?param1=ABC
(在URL中添加)它可以工作
但是,我不想这样做,因为它打破了页面,因为它不是SPA
有人能提出一种更好的方法来获取url参数而不必在url中使用#吗?试试这个
将$stateParams
注入控制器
var paramValue=$stateParams.param1
这将适用于您的场景如果您不使用stateParams,请使用此选项:
this.$routerOnActivate = function(next) {
$scope.paramValue= next.params.param1;
};
首先启用html5模式:
在路由器中添加以下代码:
app.config(["$locationProvider", function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
其次,更新index.html
使用
$routeParams
在$routeProvider中使用AngularJs
.when('/sample/:id',
{
templateUrl: 'sample.html',
controller: 'sampleController'
})
在您的控制器中,使用
$routeParams.id
获取它,这不是SPA应用程序,我已经清楚地提到过
var paramValue=$stateParams.param1
.when('/sample/:id',
{
templateUrl: 'sample.html',
controller: 'sampleController'
})