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

use*_*466 1 javascript angularjs

我有一个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>
Run Code Online (Sandbox Code Playgroud)

Vin*_*eet 7

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

ngInit的唯一合适用途是用于别名ngRepeat的特殊属性.您应该使用控制器而不是ngInit来初始化作用域上的值.

你的片段看起来像

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

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