我有一个ng-repeat,如下所示:
<ol>
<li class="pointer node-name" ng-click="myClick(node)" ng-repeat="node in myArray">{{node.name}}</li>
</ol>
这很棒,我从<ol>
生成<li>
myArray
来生成ng-repeat
。
但是,我希望ng-click
中的最后一项没有<ol>
<li class="pointer node-name" ng-click="myClick(node)" ng-repeat="node in myArray">Step 1</li>
<li class="pointer node-name" ng-click="myClick(node)" ng-repeat="node in myArray">Step 2</li>
<li class="pointer node-name" ng-click="myClick(node)" ng-repeat="node in myArray">Step 3</li>
<li class="pointer node-name" ng-click="myClick(node)" ng-repeat="node in myArray">Step 4</li>
<li class="pointer node-name" ng-repeat="node in myArray">Step 5</li>
</ol>
事件,或至少禁用它。
例如:
{{1}}
这甚至可能吗? 感谢。
答案 0 :(得分:2)
您可以使用$last
中的ngRepeat
- 属性来检查它是否是最后一个元素。然后在你的点击处理程序中放置一个条件...
<li class="pointer node-name" ng-click="myClick(node, $last)" ng-repeat="node in myArray">Step 5</li>
答案 1 :(得分:0)
你可以使用$ index来查看循环索引到myArray,[0 .. n-1]。然后当$ index == myArray.length -1时,您可以禁用ng-click。
答案 2 :(得分:0)
禁用它应该很容易。
<ol>
<li class="pointer node-name" ng-click="myClick(node)" ng-disabled="$last" ng-repeat="node in myArray">{{node.name}}</li>
</ol>
或检查索引是否等于数组的长度减去1(最后一个元素)
<ol>
<li class="pointer node-name" ng-click="myClick(node)" ng-disabled="$index === myArray.length - 1" ng-repeat="node in myArray">{{node.name}}</li>
</ol>