gpt4 book ai didi

angularjs - 将 $index 与 AngularJS 'ng-options' 指令一起使用?

转载 作者:行者123 更新时间:2023-12-02 20:04:27 26 4
gpt4 key购买 nike

假设我使用以下命令将数组绑定(bind)到 select 标记:

<select ng-model="selData" ng-options="$index as d.name for d in data">

在这种情况下,关联的 option 标记被分配了一系列索引值:(0, 1, 2, ...)。但是,当我从下拉列表中选择某些内容时,selData 的值将绑定(bind)到 undefined。绑定(bind)真的有效吗?

另一方面,假设我执行以下操作:

<select ng-model="selData" ng-options="d as d.name for d in data">

这里,option 标记获得相同的索引,但整个对象在更改时绑定(bind)。它是按照设计以这种方式工作的,还是这种行为只是 AngularJS 的一个很好的错误或副作用?

最佳答案

由于数组与 JavaScript 中的对象非常相似,因此您可以使用“对象数据源”的语法。诀窍在于 ng-options 部分的括号:

var choices = [
'One',
'Two',
'Three'
];

在模板中:

<select
ng-model="model.choice"
ng-options="idx as choice for (idx, choice) in choices">
</select>

最后,model.choice 的值为 0、1 或 2。当它为 0 时,您将看到 One; 1 将显示 Two 等。但在模型中,您只会看到索引值。

我改编自 PACKT Publishing 的“Mastering Web Application Development with AngularJS”,并在 Angular reference documentation for select 进行了验证。 .

关于angularjs - 将 $index 与 AngularJS 'ng-options' 指令一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com