Используйте AngularJS, чтобы установить URL для переменной

0

http://jsfiddle.net/fhfepbtu/

Я хотел бы проанализировать текущий 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}}

  • 0
    подключите контроллер к вашему угловому модулю myApp
  • 0
    будет работать нормально, если вы правильно реализовали Angular и не используете Angle версии 1.01. Что вам нужно от URL? Angular уже имеет сервис $location и маршрутизаторы добавляют больше доступных объектов данных
Показать ещё 3 комментария
Теги:

2 ответа

1
Лучший ответ

У вас простая лексическая ошибка:

$scope.url = $window.locaton.href;

Вы кладете вместо местоположения за вход.

1

См. Документацию и примеры здесь из углового. 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.

  • 0
    спасибо за ответ Я попытался с помощью $ location.path (). Я не мог получить this.urlSnippet для отображения. И когда я набрал this.urlSnippet в консоли Chrome, он сказал «неопределенный». Может ли предложенный вами ответ быть реализован в jsfiddle, чтобы я мог увидеть полное решение?
  • 0
    Вот мое предложение в jsfiddle: jsfiddle.net/hth8sm5y/3

Ещё вопросы

Сообщество Overcoder
Наверх
Меню