繁体   English   中英

从Angular中的网址获取参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM