2016-07-05 5 views
0

私はAngularのui-routerを使用しています。私の考えでは、親の状態でもあるUIのレイアウトのドロップダウンには、子状態のデータを変更するドロップダウンがあります。AngularJSの親ステートコントローラに変更があった場合、どのように子ステートをリロードするのですか?

ルーティング:

.state('App', { 
      url : '/', 
      controller : 'AppController', 
      templateUrl : 'views/layout.html', 

     }) 

.state('App.userProfile', { 
      parent : 'App', 
      url : 'profile', 
      templateUrl : 'views/user-profile.html', 
      controller : 'UserProfileController'    
     }) 

HTMLドロップダウン:

<div class="top-bar"> 
<div class="top-bar-logo"></div> 
<label>Active team</label> 
<select class="clean-custom-select margin-bottom-10" 
     ng-options="team._id as team.Name for team in userTeams" 
     ng-change="changeActiveTeam(ActiveTeamModel)" 
     ng-model="ActiveTeamModel"> 
<option value="">Choose a team</option> 


それでは、私は選択ドロップダウンが変化したときに、子ビューががリロードされますされて達成しようとしていますしかし、これはすべての子どもたちのために働く必要があります。上記のコードは、1つの子状態の単なる例ですが、多くの例があります。

さらにいくつかのコンテキストでは、ドロップダウンにはチーム名が入ります。ユーザーがチームを選ぶと、すべての子どもの状態がそのチームを参照する必要があります。

答えて

1

要件に応じて、角度サービス$ emit、$ broadcast、$ onを使用して、親子階層のイベントおよびスコープ変更通知を交換できます。

これは、あなたがここでは、この link

+0

を理解するのに役立ちますがplunkrです:https://plnkr.co/edit/PyaJL7?p=preview – Prianca

+0

トリックを行っているようです!ブール値を他のコントローラに渡すだけで$ブロードキャストサービスを使用しました。ありがとうございました :) – Poot87

関連する問題