Angularjs并选择包含__proto__的数组

Angularjs and select with array including __proto__

本文关键字:proto 数组 包含 选择 Angularjs      更新时间:2023-09-26

我有一个角度程序,可以创建一个带选项的select。我使用一个包含两个对象的数组。

我在这里创建了一个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。

将此添加到控制器的末尾将修复它,因此下拉列表中只显示2个。

$scope.selectOption =  $scope.options[0];

希望能有所帮助。

演示