如何在md-virtual-repeat中访问ngRepeat的特殊属性?

时间:2017-01-16 06:25:38

标签: angularjs angular-material

我无法在md-virtual-repeat中访问ngRepeat的special属性。我想访问md-divider的$ last属性。但是,这总是返回null。

1 个答案:

答案 0 :(得分:1)

https://material.angularjs.org/latest/api/directive/mdVirtualRepeat所述,

  

虚拟重复是ng-repeat

的有限替代品

实际上它只支持$index

如果使用md-on-demand指令,您可以使用getLength()函数,因为@Ashish已经说过:

<md-virtual-repeat-container id="vertical-container">
  <div md-virtual-repeat="item in ctrl.dynamicItems" 
       md-on-demand 
       class="repeated-item" 
       flex>
    {{item}}
    <md-divider ng-if="$index !== ctrl.dynamicItems.getLength() - 1"></md-divider>
  </div>

</md-virtual-repeat-container>

如果您不想使用md-on-demand指令,则可以使用items.length

<md-virtual-repeat-container id="vertical-container2">
  <div md-virtual-repeat="i in ctrl.items" class="repeated-item" flex>
    Hello {{i}}!
    <md-divider ng-if="$index !== (ctrl.items.length - 1)"></md-divider>
  </div>
</md-virtual-repeat-container>

这里是修改后的官方代码:http://codepen.io/anon/pen/qRaoJK