2013-10-02 45 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()或者使用$ route服務。兩個信息:

  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"; 

在鏈接功能,將工作