Javascript 如何修复$scope select options数组中未定义的结果?

Javascript 如何修复$scope select options数组中未定义的结果?,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我正在使用AngularJS并尝试设置一个包含在数组中的选项的SelectDropbox字段,最终用户通过输入框添加这些选项。我已成功地将$scope添加到数组中,但下拉选择框仅显示所有选项的“未定义” 我曾寻找过类似的答案,但没有一个能明确指出我的错误所在,也没有一个使用Angular 2+,这对我没有帮助 $scope.names=[ { 姓名:“职位未填补”, 值:“未填写职位” } ]; $scope.addName=函数(){ $scope.names.push({name:thi

我正在使用AngularJS并尝试设置一个包含在数组中的选项的SelectDropbox字段,最终用户通过输入框添加这些选项。我已成功地将$scope添加到数组中,但下拉选择框仅显示所有选项的“未定义”

我曾寻找过类似的答案,但没有一个能明确指出我的错误所在,也没有一个使用Angular 2+,这对我没有帮助


$scope.names=[
{
姓名:“职位未填补”,
值:“未填写职位”
}
];
$scope.addName=函数(){
$scope.names.push({name:this.party.addName,value:this.party.addName});
log($scope.names);
}

理想情况下,我希望通过$scope.addName()函数添加的任何“名称”都作为值或名称添加到下拉选择框中,而不是未定义的名称。

在我看来,您的问题在于
ng选项的语法

而不是:

试一试

name.value
是要从
ng型号
获取或设置的值

name.name
是要显示为选项文本的值


请注意,引用的变量以
name
开头,而不是原始代码中的
name

您可以尝试
ng repeat
,这比
ng options

这是一张工作票

ng-options="names.value as names.value for name in names"
ng-options="name.value as name.name for name in names"