Я хотел бы проанализировать текущий url и использовать проанализированные значения в приложении. Как установить переменную модели на текущий URL?
Вот код из ссылки скрипта.
HTML:
<div ng-controller="MyCtrl">
{{url}}
</div>
JS:
var myApp = angular.module('myApp',[]);
function MyCtrl($scope, $window) {
$scope.url = $window.location.href;
}
Отображение...
{{URL}}
У вас простая лексическая ошибка:
$scope.url = $window.locaton.href;
Вы кладете вместо местоположения за вход.
См. Документацию и примеры здесь из углового. angularjs.org $ location
Сначала выполните ваш контроллер правильно, тогда вам нужно использовать службу определения местоположения $, как показано ниже.
myApp.controller("MyCtrl" ,["$scope","$window","$location", function($scope, $window, $location){
// Your controller code here.....
$scope.url = $location.absUrl();
}]);
Вы можете использовать $ location.path(); просто получить последнюю часть url или $ location.absUrl(); чтобы получить все это. Пожалуйста, прочитайте связанную документацию.
Я редактировал jsfiddle здесь https://jsfiddle.net/hth8sm5y/3/
EDIT: Как говорили другие, в вашем "местоположении" кода есть опечатка, поэтому исправление опечатки исправляет ваш код с помощью окна $. Я не уверен, что вы используете, но я предложил $ location, потому что он позволяет быстро получить доступ к определенным частям на url, например path() и hash(), а также предоставляет как getter/setter.
this.urlSnippet
для отображения. И когда я набрал this.urlSnippet
в консоли Chrome, он сказал «неопределенный». Может ли предложенный вами ответ быть реализован в jsfiddle, чтобы я мог увидеть полное решение?
$location
и маршрутизаторы добавляют больше доступных объектов данных