javascript - Angularjs 并使用包含 __proto__ 的数组进行选择

标签 javascript select angularjs

我有一个 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];

希望有帮助。

Demo

关于javascript - Angularjs 并使用包含 __proto__ 的数组进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18090151/

相关文章:

angularjs - 如何将行选择设置为新添加的行?

javascript - YUI Carousel nav buttons under the ordered list

javascript - 谷歌地图 API v3 : Turning user input coordinates to latlng?

mysql - 在选择标签中将当前用户显示为 "Me"

arrays - LINQ - 根据数组 B 上的值从数组 A 中选择元素

angularjs - ng-readonly 在 Angular 复选框中不起作用

javascript - jQuery 动画的大图像移动波涛汹涌

javascript - 在GSP页面文本区域中显示数据

使用子查询的 MySql SELECT 无法按预期工作

javascript - 调用工厂方法时出现 Angularjs 错误