gpt4 book ai didi

angularjs - 无法获取当前路线。 $location.path() 返回空。

转载 作者:行者123 更新时间:2023-12-04 09:14:30 26 4
gpt4 key购买 nike

我目前在 /addDoc ,我想要我当前所在的路线。这是我的 Controller :

app.controller('DocRegistrationController',[ '$http', '$scope', '$upload', '$location', function($http, $scope, $upload, $location){
$scope.validation=function(){
alert($location.path());
}
}

但是它返回空。我不想硬编码所有路线。我究竟做错了什么?

最佳答案

$location 服务响应解析浏览器地址栏中的 url 并使该 URL 可用于您的 APP。

因为您使用的是常规 URL 路径和搜索段,所以您必须将 $locationProvider html5Mode 设置为 true。

$locationProvider 将使用 hashbang 作为默认模式。

如果不将 html5Mode 设置为 true,则在尝试获取 url 路径时将获得空字符串。

然后在设置html5Mode后使用$location服务获取url路径。

并编写自己的规则来处理路径。

假设您的完整 URL 如下所示:http://example.com/person/show/321

主程序

angular.module("MyAPP",[],function($locationProvider){
$locationProvider.html5Mode(true);
});

function MainController($location){
var pId = $location.path().split("/")[3]||"Unknown"; //path will be /person/show/321/, and array looks like: ["","person","show","321",""]
console.log(pId);
}

索引.html
<!DOCTYPE html>
<html lang="en" ng-app="MyAPP">
<head>
<meta charset="utf-8">
<title>Angular test</title>
</head>
<body ng-controller="MainController">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>

希望这对你有帮助。

关于angularjs - 无法获取当前路线。 $location.path() 返回空。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com