0
我有一个用户列表的页面,我有一个奇怪的设置,用户的细节显示在sidenav中。所以每当sidenav打开时数据都会改变。我可以使用列表控制器打开sidenav,但实际上我需要能够从sidenav的控制器访问用户ID。我对Angular还是比较陌生的。这是我目前的。发送数据到一个单独的sidenav控制器
<div class="page">
<div infinite-scroll='vm.getMore()'>
<table id="userList">
<tr ng-repeat="user in vm.data" ng-click="vm.openUser(user)"> .... </tr>
</table>
</div>
</div>
<md-sidenav class="md-sidenav-right userDetail" md-component-id="right" md-is-locked-open="{{vm2.isEditing}}" ng-class="{{ vm2.currentUser.isActive ? '' : 'disabledUser'}}">
<div ng-controller="userDetailController as vm2" layout="column" ng-switch on="vm2.isEditing">
<div ng-switch-default>
User details...
<md-button type="submit" ng-click="vm2.editUser()">Edit User</md-button>
</div>
<div ng-switch-when="true">
<input type="text" value="{{vm.currentUser.clientName}}" />
<md-button ng-click="vm2.saveUser(vm.currentUser)" ***?>Save</md-button>
</div>
</div>
</md-sidenav>
控制器之间共享数据的“角度方式”是编写一个存储数据的服务,并将其注入到所有需要访问数据的控制器中。 –