2016-07-05 79 views
0

我正在使用ui路由器和Angular,我的想法是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

根據您的要求,您可以使用角度服務 - $ emit,$ broadcast,$ on來交換父級子級別上的事件和範圍更改通知。

這將有助於您瞭解這個 link

+0

這是一個plunkr:https://plnkr.co/edit/PyaJL7?p=preview – Prianca

+0

這似乎做的伎倆!我使用$廣播服務只傳遞一個布爾值到另一個控制器。謝謝 :) – Poot87

相關問題