在Angular循环(ng-repeat,ng-options)中,您可以使用以下语法:
item as item.label for item in items
有人可以解释一下表达式中的每个标记在做什么以及它意味着什么?你能指点我的文件吗?我无法弄清楚要搜索什么(搜索'as'或'for'是无用的)。 ng-repeat或ng-options的文档中没有提到它。
我知道它会以某种方式让你从对象列表中选择一个对象,但是'item'会在表达式中出现两次,而且我不清楚该令牌在这个表达式中的作用是什么。
很抱歉,如果这些都记录在一些我找不到的地方......
答案 0 :(得分:2)
你有一个数组“items”。而你正在与它进行互动
item in items
由于您从此页面“https://docs.angularjs.org/api/ng/directive/ngOptions”未完全复制的示例通常会创建一个下拉列表,现在问题是您当前在迭代中拥有的“item”对象具有的字段多于字符串,显示为下拉条目的标签。这是对象:
$scope.items = [{
id: 1,
label: 'aLabel',
subItem: { name: 'aSubItem' }
}, {
id: 2,
label: 'bLabel',
subItem: { name: 'bSubItem' }
}];
那么你想要展示什么呢?是的,你想要显示“item.label”。 那是什么
item as item.label
一样。它告诉循环使用当前“item.label”值作为此特定循环的“item”。