Javascript &引用;粘的;在Angular应用程序中选择

Javascript &引用;粘的;在Angular应用程序中选择,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我有一个恼人的问题,应用程序有一个基于角度的前端。某个选择框是“粘滞的”-您必须选择一个选项两次才能更改它。这里有一个片段再现了这个问题: var-app=angular.module('myapp',[]); app.controller('NewsCtrl',函数($scope){ //设置新闻数据 $scope.news={ _经销商的具体_:'003' }; //找经销商 $scope.dealers=[{ id:1, dealerid:'001', 名称:“沃尔沃” }, { id

我有一个恼人的问题,应用程序有一个基于角度的前端。某个选择框是“粘滞的”-您必须选择一个选项两次才能更改它。这里有一个片段再现了这个问题:


var-app=angular.module('myapp',[]);
app.controller('NewsCtrl',函数($scope){
//设置新闻数据
$scope.news={
_经销商的具体_:'003'
};
//找经销商
$scope.dealers=[{
id:1,
dealerid:'001',
名称:“沃尔沃”
}, {
id:2,
dealerid:'002',
名称:“萨博”
}, {
id:3,
dealerid:'003',
姓名:'座位'
}];
});
全部的
{{dealer.name}

您不需要使用
ng selected
来选择您的选项,
ng model
会为您这样做

这导致模型变得混乱。这就是为什么你必须选择它两次

 <select name="specific_for_dealership" ng-model="news.specific_for_dealership">
        <option value="">All</option>
        <option ng-repeat="dealer in dealers"  value="{{ dealer.dealerid }}">{{ dealer.name }}</option>
 </select>

全部的
{{dealer.name}
我个人推荐的另一个方法是切换到ng选项以显示对象中的选项列表。它会给你更多的变通能力。例如,可以将整个对象绑定到选择器,而不仅仅是ID

<select name="specific_for_dealership" 
     ng-options="dealer.dealerid as dealer.name for dealer in dealers" 
     ng-model="news.specific_for_dealership">
        <option value="">All</option>
</select>

全部的

只需设置
ng selected=“dealer.dealerid==news.specific\u for\u经销商”

@MatthewDaly查看关于
ng options
的第二部分,它工作得更好,并将选择将模型设置为更好的值。是的,它工作得很好,因此我也应用了这些更改