以下是我的选项
<select ng-init="vm.tutors = vm.tutors || 0" ng-model="vm.tutors" ng-options="tutors.fullname as tutor for (tutor, fullname) in vm.tutors" class="form-control"></select>
以下是我的对象
vm.tutors [对象{fullname =“NAME”},对象{fullname =“NAME2”}}]
我持续获取索引而不是实际值
的原因是什么答案 0 :(得分:3)
获取索引的原因是因为您有一些语法/概念问题。
你的代码看起来需要一些爱,所以这里有一个正确的方法来做到这一点:
控制器:
$scope.vm.tutors = [{fullname: "NAME"}, {fullname: "NAME2"}];
$scope.vm.selectedTutor = ""; // you can assign a value if you would like to have an option preselected.
HTML: //在此示例中,tutor.fullname是select选项的Label和Value。
<select ng-model="vm.selectedTutor" ng-options="tutor.fullname for tutor in vm.tutors" ></select>
现在,当您选择一个选项时,该值将被分配给$ scope.vm.selectedTutor,它不会破坏您的数组。
或者,您可以使用选择选项设置键值对关系,如下所示:
控制器:
$scope.vm.tutors = [{fullname: "NAME", id: "0"}, {fullname: "NAME2", id:"1"}];
HTML: //在此示例中,tutor.id是Value,tutor.fullname是select选项的标签
<select ng-model="vm.selectedTutor" ng-options="tutor.id as tutor.fullname for tutor in vm.tutors" ></select>
我希望这可以帮助您更好地理解这里发生的事情,HERE is a link to the AngularJS documentation.