我想在下拉列表中设置选定的选项。
我有两种方法可以将数据传递到选择ng-model
<select ng-model="selectedTeam"
ng-options="team as team.name for team in teams | orderBy:'ID'">
</select>
我的html选择如下:
JSON.stringify($scope.teams[31]) === JSON.stringify(selectedTeamSrvs.getTeam())
和getValue();
function getValue() {
var ele = document.querySelector('ul'),
value = ele.firstElementChild.getAttribute('value');
try {
value = JSON.parse(value);
} catch (e) {
alert('invalid json');
}
return value;
}
给出了真实。
那么为什么只有第一个选项正确设置所选选项?
答案 0 :(得分:2)
默认情况下,ngModel按引用进行比较,而不是值。这在绑定到对象数组时很重要
第二个选项设置不正确,因为selectedTeamSrvs.getTeam()返回一个不同的团队实例,即使它们在字符串化时相等。