我有一个 Angular 程序,可以创建带有选项的选择。我使用包含两个对象的数组。
我在这里创建了一个 jsFiddle 示例:http://jsfiddle.net/ucHAe/
但是,选择最终会创建一个额外的选择选项。我对这个额外的选项感到困惑,只能认为这是由于存在第三个也是最后一个名为“proto”的条目。我使用的是 chrome v28.0.1500.95。
chrome console.log 的控制台输出:
[Object, Object]
0: Object
id: 0
mode: "Search"
url: "http://google.com"
__proto__: Object
1: Object
id: 1
mode: "Social"
url: "http://facebook.com"
__proto__: Object
length: 2
__proto__: Array[0]
知道为什么会发生这种情况吗?
最佳答案
由于您错误地设置了 ng-model
,因此创建了所谓的额外选择选项(我认为是空白选项)。根据 ng-options 中定义的理解表达式,您需要将 selectOption 设置为对象而不是 ID。
将其添加到 Controller 末尾即可修复该问题,因此下拉列表中将仅显示 2 个。
$scope.selectOption = $scope.options[0];
希望有帮助。
关于javascript - Angularjs 并使用包含 __proto__ 的数组进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18090151/