在angularjs中的其他控制器中使用下拉列表的值

在angularjs中的其他控制器中使用下拉列表的值,angularjs,Angularjs,我有两个下拉列表,我想在其他控制器中使用所选选项。 i、 e我在下拉列表中有两个办公室,我选择了office_1,我想在其他一些控制器中使用值i.e office_1,我可以在其中执行检查条件。我如何链接这两个控制器 这是我的下拉代码 <div class="col-xs-12"> <div class="col-xs-4 col-xs-offset-1 "> <h5>Select the System:</h5> <s

我有两个下拉列表,我想在其他控制器中使用所选选项。 i、 e我在下拉列表中有两个办公室,我选择了office_1,我想在其他一些控制器中使用值i.e office_1,我可以在其中执行检查条件。我如何链接这两个控制器

这是我的下拉代码

<div class="col-xs-12">

<div class="col-xs-4 col-xs-offset-1 ">
    <h5>Select the System:</h5>


    <select id="repeatSystem" ng-model="selectedSystem" style="width: 100%">
        <option ng-repeat="(key,value) in systems" value="{{key}}">{{key}}</option>
    </select>
</div>
<div class="col-xs-4 col-xs-offset-1">
    <h5>Select the Office:</h5>

    <select id="repeatOffice" ng-model="selectedState" style="width: 100%">
        <option ng-repeat="system in systems[selectedSystem]" value="state">{{system}}</option>
    </select>

</div>

使用服务在两个控制器之间传递所选值:

module.factory('SharingService',function(){
  var selectedValue;  
  return{
     setValue:function(value){
                  selectedValue=value;
              },
     getValue:function(){
                 return selectedValue;
              }
  }
}
使用其中一个控制器中的观察者设置值

module.controller('Controller1',function($scope,SharingService){

$scope.$watch('selectedOffice',function(newVal){
      SharingService.setValue(newVal);
  })


});
使用SharingService.getValue方法在另一个控制器中获取它

备选方案:

1.您还可以使用事件广播在两个控制器之间进行数据通信

2.如果控制器嵌套,则可以直接从子控制器访问父控制器的模型值