我有这个伪代码angularjs应用程序。您可以为每个人选择一个爱好,保存并重新加载。
但是,当我加载数据时,选择框没有选择正确的选项。 person.hobby
存在且是正确的对象,但看起来没有正确设置ng-model。
我错过了什么吗?
<div ng-repeat="person in people">
<p>{{ person.fullname }}</p>
<select ng-model="person.hobby"
ng-options="h.hobby_name group by h.category for h in hobbies">
</select>
</div>
<script>
//... controller...
$http.get('/gethobbies/').succes(data) {
hobbies = data;
};
$http.get('/getpeople/').succes(data) {
people = data;
// looks like this: [{'fullname': 'bill gates', 'hobby': {'hobby_name': 'programming', 'category': 'computers'}, ...]
};
</script>
答案 0 :(得分:1)
ng-model
设置为与要选择的ng-options
数组中的对象完全相同的对象。 Angular使用对象引用来确定哪一个应该是活动的,因此有一个&#34;业余爱好对象&#34;与#34; hobby_name&#34;相同作为&#34;爱好&#34;中的一个对象是不足够的。它需要是对同一对象的引用。
有关详细信息,请参阅documentation for select