2013-10-02 3 views
12

Что-то по строкам: link: function($scope, element, attrs, $location) {

Возможно ли это?

ответ

23

В декларации директивы вводите службу определения местоположения.

app.directive('myDirective', ['$location', function(location){ 

return { 
    link: function(scope, elem, attrs){ 
    //things happen here 
    location.url('/'); 
    } 
}; 
}]); 

Если вы пытаетесь получить текущее местоположение, используйте location.path() или, в качестве альтернативы, использовать сервис $ маршрута. Информация на оба:.

  1. http://docs.angularjs.org/api/ngRoute $ маршрута
  2. http://docs.angularjs.org/api/ng $ расположения
+0

Местоположение не обновляется, когда я перехожу на другую страницу. – Shamoon

+0

Вы пытаетесь получить местоположение, в котором они находятся, используя службу определения местоположения? – Fourth

+0

Да, пожалуйста. Это цель – Shamoon

3

думал инъекционной службу в директиву она по-прежнему получает неопределенную в функцию связи, для этого вам нужно использовать

.
location.hash = "#/path_name"; 

в функции связи он будет работать

Смежные вопросы