2016-04-26 17 views
3

を更新していません。別のルートに入るとき、私はnavレイアウトを変更したいと思います。私が抱えている問題は、ユーザーがページを更新するときだけ、ルートを検出できることです。AngularJs RouteNameは、私は次のセットアップを持っている

例:

<div data-ng-controller="HeaderController" > 
... 
<span>Product Name - {{layout}}</span> 
... 
</div> 

マイヘッダ制御:あなたがボタンを選択すると、それはルートにページが開きます

angular.module('myApp.system').controller('HeaderController', ['$scope', 'Global', '$location', '$route', function ($scope, Global, $location, $route) { 
... 

    $scope.layout = $location.path().includes('projectEditor'); 
... 

}]); 

:projectEditor/1。しかし、スパンは、ページを更新するときにのみ更新されます。私の計画は、クラスの条件を使用することでしたが、ユーザーがページを更新するときにのみ機能します。

私は角度の1.5.5バージョンを使用しています。

誰かが知っているルートの変更時に、そのヘッダーコントローラー内のそのスコープ変数を更新するにはどうすればよいですか?場所の変更を知るためには

答えて

1

、あなたがイベントを使用する必要があります。

https://docs.angularjs.org/api/ngRoute/service/ $ルート#イベント

ソリューションを使用すると、ルートアプリケーションに使用している実装に依存します。ここで が

$rootScope.$on("$routeChangeStart", function(event, next, current) { 
    $scope.layout = 'newRoute'; 
} 

デフォルト角度ルータとの一例である、私は願って、それは

0

[OK]を助けて私は$ routeChangeStartを使用して、$ routeScope変数を更新し、そのに接続するために必要なことを考え出しました。

ありがとうございます!

関連する問題