AngularJS:在ng-repeat中使用ng-show显示最高$index的值

5
我有一个输入表单,用于输入电子邮件地址和地址。
用户可以通过点击输入字段右侧的“+”符号来动态添加最多3个电子邮件和地址行。
当我使用“ng-repeat”输入字段时,“+”符号也会重复出现在每个输入字段中。如何仅显示最后一个输入字段,其中“$index”的值最大,以便只显示该“+”符号。 这是我的实际表格![][1]
1个回答

16

您可以使用ng-repeat的特殊属性$last,它是一个布尔值属性,为ng-repeat中的最后一项设置(此处的item表示ng-repeat创建的子作用域,而不是该特定迭代的值)。示例如下:

  ... ng-show="$last"
或者
 ... ng-if="$last"

查看 ng-repeat 的其他特殊属性

  • $index - number,已重复元素的迭代偏移量(0..length-1)
  • $first - boolean 类型,如果重复元素是迭代器中的第一个,则为 true。
  • $middle - boolean 类型,如果重复元素在迭代器的第一个和最后一个之间,则为 true。
  • $last - boolean 类型,如果重复元素是迭代器中的最后一个,则为 true。
  • $even - boolean 类型,如果迭代器位置 $index 是偶数,则为 true(否则为 false)。
  • $odd - boolean 类型,如果迭代器位置 $index 是奇数,则为 true(否则为 false)。

此外,请注意,如果您计划使用 ng-show(而不是ng-if),您也可以根据上下文和 DOM 结构使用 CSS 选择器伪类,如 :last-child:last-of-type 等来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接