是否有可能在Angular JS的指令中获取当前$位置?

时间:2013-10-02 14:34:33

标签: angularjs angularjs-directive

以下内容:link: function($scope, element, attrs, $location) {

这可能吗?

2 个答案:

答案 0 :(得分:23)

在指令声明中,注入位置服务。

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

 return {
  link: function(scope, elem, attrs) {
   // path() and url() can be used as getters or setters
   console.log($location.url());
   console.log($location.path());
  }
 };
}]);

如果您尝试获取当前位置,请使用location.path(),或者使用$route服务。

两者的信息:

  1. $route Docs
  2. $location Docs

答案 1 :(得分:3)

认为注入服务到指令它仍然未定义到链接函数, 因为你需要使用

location.hash = "#/path_name";

在链接功能中它将起作用