Можно ли получить текущее $location в директиве в Angular JS? Что-то по строкам: link: function($scope, element, attrs, $location) { Возможно ли это? Ответ 1 В объявлении директивы введите службу определения местоположения. app.directive('myDirective', ['$location', function(location){ return { link: function(scope, elem, attrs){ //things happen here location.url('/'); } }; }]); Если вы пытаетесь получить текущее местоположение, используйте location.path() или, альтернативно, используйте службу $route. Информация об обоих: http://docs.angularjs.org/api/ngRoute. $route http://docs.angularjs.org/api/ng. $location Ответ 2 мысль впрыскивания в директиву по-прежнему получает undefined в функцию ссылок, для этого вам нужно использовать location.hash = "#/path_name"; в функции ссылок он будет работать
Ответ 1 В объявлении директивы введите службу определения местоположения. app.directive('myDirective', ['$location', function(location){ return { link: function(scope, elem, attrs){ //things happen here location.url('/'); } }; }]); Если вы пытаетесь получить текущее местоположение, используйте location.path() или, альтернативно, используйте службу $route. Информация об обоих: http://docs.angularjs.org/api/ngRoute. $route http://docs.angularjs.org/api/ng. $location
Ответ 2 мысль впрыскивания в директиву по-прежнему получает undefined в функцию ссылок, для этого вам нужно использовать location.hash = "#/path_name"; в функции ссылок он будет работать