2016-10-27 19 views
1

コントローラーの$スコープ値を状態定義から自動的に設定することはできますか?例えば

、私は状態の定義

$stateProvider.state("page", { 
    url: "/page", controller: PageController, template: "<div></div>" 
} 

を持っており、私はこのようなパラメータを使用してページに移動した場合:

$state.go("page", {param1: 'value1'}); 

ことが可能な状態を使用してPageControllerで$スコープでPARAM1を注入しますPageControllerで$ scope.param1を呼び出して、値 'value1'を渡すことができるようにするにはどうすればいいですか?明らかに

、私はちょうど

$scope.param1 = $stateParams.param1; 

とPageControllerでのそれを設定することができますしかし、私は、私が代わりに(多分解決のように)状態の定義の一部としてこれを含めることができるかどうかを確認するために探しています。

+0

あなたべきこのSOに[ようapp.runに$ rootScopeに注入することができ投稿](http://stackoverflow.com/questions/33020974/access-state-inside-template)。同様に、app.run関数内の '$ rootScope。$ on( '$ stateChangeSuccess'、function(event){//ここで$ rootScopeに設定}を使用することもできます。 – Mahesh

答えて

0

これを試してみてください:

ルーティング:

.state('page', { 
     url: '/page', 
     template: '<div></div>', 
     controller: 'PageController', 
     data : {param1 : 'value1'} 
    }) 

のPostController:

controller('PageController', function($state, $scope){ 
     console.log($state.current.data.param1); 
}) 
関連する問題