AngularJS:ng-show表示ng-repeat中$ index的最高值

时间:2015-06-24 17:43:34

标签: javascript angularjs

我有一个电子邮件地址和地址的输入表单。

用户可以通过点击输入字段右侧的+符号动态添加最多3封电子邮件和地址行。

当我ng-repeat输入字段+也为每个输入字段重复时。 如何仅显示$index值最大的最后一个输入字段的+。This is my actual form![][1]

1 个答案:

答案 0 :(得分:16)

您可以使用$last ng-repeat 特殊属性。它是最后一项的布尔值属性集(item,这意味着 child scope 由ng-repeat创建而不是特定迭代的值){{1 }}。类似的东西:

ng-repeat

  ... ng-show="$last"

See other special properties of ng-repeat

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

另请注意,如果您打算使用 ... ng-if="$last" (而不是ng-show),您也可以使用基于:last-child:last-of-type等的css选择器伪类来实现它关于上下文和DOM结构。