AngularStrap Select和ng选项don'使用动态数组不能很好地工作

AngularStrap Select and ng-options don't work well using dynamic array

本文关键字:数组 动态 不能 很好 工作 ng Select 选项 don AngularStrap      更新时间:2023-11-04

我使用AngularJS和AngularStrap(指令Select,基于Silvio Moreto的Bootstrap Select)。我有下一个问题:

我有很多汽车品牌。使用ng选项,我把它们像选项一样放在select中。换句话说,当我选择一个选项(汽车品牌)时,我会得到这个汽车品牌的不同型号,并在另一个选项中显示类似的选项。

问题是,当我使用AngularStrap指令select时,它不能很好地工作。我第一次选择汽车品牌时,效果很好,但下一次选择的选项(汽车品牌)显示了所选汽车品牌的车型和上一个汽车品牌的第一个车型。

当我不使用AngularStrap选择时,它工作得很好,因此我认为问题出在AngularStraps选择上。

谢谢你的帮助。

我的代码是下一个:

HTML:

<select ng-model="selectBrand" ng-options="carBrand.id as boatBrand.name for boatBrand in boatBrands" bs-select >
<optionvalue="">CarBrand</option>
</select> 
<select ng-model="selectModel" ng-options="carModel.id as carModel.name for boatModel in carModels" bs-select>
<option value="">CarModel</option>
</select>

控制器(JS):

 $scope.carBrands = carBrand.query();
 $scope.$watch('selectBrand', function() { 
    $scope.carModels = carModel.query({type_id: $scope.selectBrand});
 };

我意识到这是旧的,但我在Chosen Select插件和ng选项的动态列表中也遇到了类似的问题。通过将选项查询封装在$timeout中,我终于解决了这个问题。

            $timeout(function () {
                $scope.carModels = carModel.query({type_id: $scope.selectBrand});
            });

我能够使用带有select元素的AngularStrap select支持的唯一方法是使用ng选项,并将无选项元素作为<select>的子元素。