繁体   English   中英

选择angularjs ng-repeat中的第一个元素

[英]select first element in angularjs ng-repeat

我有一个ng-repeat填充li标签。 我希望默认情况下应单击第一个元素并应触发一个函数。 我该如何使用ng-repeated。 我尝试了ng-if和ng-switch。 但是除了第一个元素其余部分之外,其他所有元素均未填充。

的HTML:

<ul id = "colors">
    <li ng-repeat="color in colors | filter:query" >
        <div style="background-color : {{color.color}}; height : 20px; width : 20px;" ng-if = '$first' ng-click="getViewsByColors(color)">
        </div>
    </li>
</ul>

使用ng-init 您的点击事件不会以这种方式触发。 根据文档

ngInit的唯一适当用法是为ngRepeat的特殊属性设置别名。 您应该使用控制器而不是ngInit来初始化作用域上的值。

您的代码段看起来像

<div style="background-color : {{color.color}}; height : 20px; width : 20px;" ng-init="($first) ? getViewsByColors(color) : ''">

它将对数组/对象的第一次迭代执行getViewsByColors函数。 在这种情况下,您无需使用ng-if 它不适用于其余的价值观。 `

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM