[英]Get parameter from the url in Angular
好吧,我有一个问题。 我现在正在使用工厂来处理应用程序中两个控制器的dta。 当我单击链接时,它会将我路由到具有特定URL的另一个视图,我想重用最后一个标记,因此我尝试将其切片
window.location.pathname.split("/").slice(-1)[0]
但它似乎不起作用,并说:$ location是未定义的://关于解决此问题的任何想法? 也许是我犯的一个小错误,但是……更多的眼睛看到了更多:)
portApp.controller("itemController", ["$scope", "workFactory",
function($scope, workFactory, $stateParams) {
console.log(window.location.pathname.split("/").slice(-1)[0]);
$location.path(); // it says $location is undefined in the console
var newpath = $stateParams.itemLink;
$scope.onViewLoad = function(){
console.log(newpath);
};
}
]);
这是它的jsfiddle- https: //jsfiddle.net/d5bjrjov/
在您的控制器中,您没有注入$location
;这就是为什么它显示$location
是不确定的。
portApp.controller("itemController", ["$scope", "workFactory",
function($scope, workFactory, $stateParams) {
一定是
portApp.controller("itemController", ["$scope", "workFactory", '$stateParams', '$location',
function($scope, workFactory, $stateParams, $location) {
在您的国家提供者中
你有
.state('items', {
url: '/items/{itemLink}',
controller: 'itemController'
});
URL模式错误。 如果要在URL中包含动态数据,则必须使用:itemLink
作为模式。
.state('items', {
url: '/items/:itemLink',
controller: 'itemController'
});
在您的控制器中,您可以使用$stateParams
获取它
$stateParams.itemLink
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.