Ответ 1
Служба $location
анализирует URL-адрес из адресной строки браузера и делает URL доступным для вашего приложения. Поскольку вы используете обычные URL-адреса и поисковые сегменты, вам нужно установить html5Mode
в true с помощью $locationProvider
.
По умолчанию $locationProvider
использует hashbangs, поэтому, если вы не установите для параметра html5Mode
значение true, вы получите пустую строку при попытке получить URL-адрес.
После того, как вы установите html5Mode
, вы можете использовать службу $location
для извлечения пути URL-адреса и написать свое собственное правило для обработки пути.
Например, предположим, что ваш полный URL-адрес выглядит следующим образом: http://example.com/person/show/321
Тогда в main.js
у вас может быть:
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);
}
И в index.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>
Надеюсь, это поможет вам.