如何在一个输入中使用2个控制器

时间:2016-11-03 05:34:35

标签: html angularjs

需要从ControllerB获取数据并在ControllerA中使用选择

   <select class="form-control selectpicker" title="All" selectpicker
                          ng-model="ControllerA.Criteria.Status"
                          ng-options="item as item.DISPLAY for item in ControllerB.ComboStatusListResult">
                  </select>

感谢。

1 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是使用角度js中的数据传输服务将ComboStatusListResult ControllerB中的ControllerA转换为ControllerA,然后使用myApp.factory('DataTransfer', function () { var data = { Options: '' }; return { getOptions: function () { return data.Options; }, setOptions: function (Options) { data.Options= Options; } }; }); 中的选项本身。

示例数据传输服务。

ControllerB

并从ComboStatusListResultmyApp.controller('ControllerB', function ($scope, DataTransfer) { DataTransfer.setOptions($scope.ComboStatusListResult); }); 对象设置为服务。

ControllerA

并在myApp.controller('ControllerA', function ($scope, DataTransfer) { $cope.ComboStatusListResult = DataTransfer.getOptions(); }); 中接收其范围对象的选项

<select class="form-control selectpicker" title="All" selectpicker
        ng-model="Criteria.Status"
        ng-options="item as item.DISPLAY for item in ComboStatusListResult"></select>

并在您的模板中将其用作。

onerror