我有一个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>
答案 0 :(得分:7)
使用ng-init
。您的点击事件不会以这种方式触发。
根据文件
ngInit的唯一合适用途是对特殊属性进行别名处理 ngRepeat。你应该 使用控制器而不是ngInit来初始化作用域上的值。
您的代码段看起来像
它将为您的数组/对象的第一次迭代执行<div style="background-color : {{color.color}}; height : 20px; width : 20px;" ng-init="($first) ? getViewsByColors(color) : ''">
函数。在这种情况下,您不需要使用getViewsByColors
。它不适用于其余的价值观。
`