Angularjs 多用户界面选择下拉列表中的一个范围对象

Angularjs 多用户界面选择下拉列表中的一个范围对象,angularjs,ui-select,Angularjs,Ui Select,在angular上使用ui select没有什么困难。我想使用相同的users范围对象填充三个下拉列表,分别是“名字”、“第二个名字”和“第三个名字”。看起来angular不喜欢它 这是我的控制器看起来像。。最初,我只分配了$scope.members变量,并尝试使用相同的对象填充下拉列表,但选择“首先”也会选择其他对象。所以我决定把它分配给三个不同的对象,但它仍然是一样的 memberService.getAllMembers().then(function (data) { $

在angular上使用ui select没有什么困难。我想使用相同的users范围对象填充三个下拉列表,分别是“名字”、“第二个名字”和“第三个名字”。看起来angular不喜欢它

这是我的控制器看起来像。。最初,我只分配了$scope.members变量,并尝试使用相同的对象填充下拉列表,但选择“首先”也会选择其他对象。所以我决定把它分配给三个不同的对象,但它仍然是一样的

memberService.getAllMembers().then(function (data) {
       $scope.members_first_name = data;
       $scope.members_second_name = data;
       $scope.members_third_name = data;
    });
这是我的html

<!-- First Name -->
                <div class="form-group required" ng-class="{ 'has-error': addEditInvestmentForm.first_name.$invalid, 'has-success':!addEditInvestmentForm.first_name.$invalid}">
                    <label for="first_name" class="control-label col-xs-4">First Name</label>
                    <div class="col-xs-8">
                        <ui-select required ng-model="members_first_name.selected" ui-select-required theme="bootstrap" style="width: 300px;" title="Select First Name" name="first_name" id="first_name" required>
                            <ui-select-match placeholder="Select or search First Name...">{{members_first_name.selected.full_name}}</ui-select-match>
                            <ui-select-choices repeat="member_f in members_first_name | filter: $select.search">
                                <span ng-bind-html="member_f.full_name| highlight: $select.search"></span>
                            </ui-select-choices>
                        </ui-select>
                        <div ng-show="addEditInvestmentForm.$submitted || addEditInvestmentForm.first_name.$touched" ng-messages="addEditInvestmentForm.first_name.$error">
                            <div ng-message="required" class="validationErrorMessage">First Name is required</div>
                        </div>
                    </div>
                </div>

                <!-- Second Name -->
                <div class="form-group required" ng-class="{ 'has-error': addEditInvestmentForm.second_name.$invalid, 'has-success':!addEditInvestmentForm.second_name.$invalid}">
                    <label for="second_name" class="control-label col-xs-4">Second Name</label>
                    <div class="col-xs-8">
                        <ui-select required ng-model="members_second_name.selected" ui-select-required theme="bootstrap" style="width: 300px;" title="Select Second Name" name="second_name" id="second_name" required>
                            <ui-select-match placeholder="Select or search Second Name...">{{members_second_name.selected.full_name}}</ui-select-match>
                            <ui-select-choices repeat="member_s in members_second_name | filter: $select.search">
                                <span ng-bind-html="member_s.full_name| highlight: $select.search"></span>
                            </ui-select-choices>
                        </ui-select>
                        <div ng-show="addEditInvestmentForm.$submitted || addEditInvestmentForm.second_name.$touched" ng-messages="addEditInvestmentForm.second_name.$error">
                            <div ng-message="required" class="validationErrorMessage">Second Name is required</div>
                        </div>
                    </div>
                </div>

名字
{{members\u first\u name.selected.full\u name}
名字是必需的
第二个名字
{{members\u second\u name.selected.full\u name}
第二个名字是必需的
发生的情况如下:


选择第一个会选择第二个,反之亦然。

我已经多次遇到这个问题。如果要两次使用相同的数据,请使用:

angular.copy(data)

如果在任何时候更改一个范围变量时将同一数据对象附加到该范围,则会影响另一个范围变量,因为它们都绑定到同一个变量。

我已经多次遇到此问题。如果要两次使用相同的数据,请使用:

angular.copy(data)
如果在任何时候更改一个范围变量时将同一数据对象附加到该范围,则会影响另一个范围变量,因为它们都绑定到同一个变量