AngularJS中的理解表达是什么?

我头脑中有几个关于理解表达的问题:

>它定义的数据结构是什么?
是否适应其他语言?
>它在哪里用于AngularJS?该API是否仅存在于select元素?

From the docs

ngOptions – comprehension_expression – in one of the following forms:

for array data sources:

  • label for value in array
  • select as label for value in array
  • label group by group for value in array
  • select as label group by group for value in array track by trackexpr

for object data sources:

  • label for (key,value) in object
  • select as label for (key,value) in object
  • label group by group for (key,value) in object
  • select as label group by group for (key,value) in object
理解表达式只是一种以特殊方式格式化的字符串,可由select指令识别.

它没有什么魔力,只有几种格式,因为有很多方法来处理和表示你的收藏(你的模型的数据结构,项目/项目属性选择作为范围的模型,关于标签的一些其他选项,分组等) .当您考虑所有这些选项时,允许复杂表达式并不奇怪.

假设你有这样的代码

<select
  ng-model="color"
  ng-options="c.name group by c.shade for c in colors"></select>

为了诠释理解表达式并使用属性,你可以这样写:

<select
  ng-model="color"
  ng-data-type="object"
  ng-data="colors"
  ng-select="c"
  ng-label="c.name"
  ng-group-by="c.shade"></select>

扩展API后,属性方法可能会变得丑陋.此外,使用理解表达式更容易使用过滤器.

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...