我正在使用带有Angular的ui-router,我的想法是UI的布局中的下拉列表(也是父状态)有一个下拉列表,它将更改子状态中的数据。
路由:
.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>
所以我想要实现的是当选择下拉列表更改时,子视图将重新加载相关的更改。但是,这必须适用于所有子状态。上面的代码只是一个子状态的一个例子,但有很多。
对于更多上下文,下拉列表将包含团队名称。一旦用户选择了一个团队,所有子州都应该引用该团队。
答案 0 :(得分:1)
根据您的要求,您可以使用角度服务 - $ emit,$ broadcast,$ on来交换父子层次结构上的事件和范围更改通知。
这将有助于您理解这一点 link