2013-10-02 9 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 $ルート
+0

ただし、別のページに変更しても場所は更新されません。 – Shamoon

+0

位置情報サービスを使用して現在地を取得しようとしていますか? – Fourth

+0

はい。それは目標です – Shamoon

3

が、それはまだあなたが

を使用する必要があり、そのため 、リンク関数に未定義ますディレクティブにサービスを注入する考え
  • http://docs.angularjs.org/api/ng $場所。
    location.hash = "#/path_name"; 
    

    リンク機能で動作します