我有一个ng-repeat,并且在ng-repeat里面有
<p style="color:red">Booked Ref : {{agencyref(contentzz.Ref)}}</p>
使用angular的方式,它会不断运行该函数,但该函数内部有一个HTTP请求,我只想运行一次。还有其他我可以使用的东西吗?
答案 0 :(得分:1)
您可以使用一次性绑定语法(::
)。
使用一次性绑定时,表达式只会被评估一次。评估后,观察者将被删除,因此下次触发摘要周期时表达式的输出不会更新
使用一次性绑定:
<p style="color:red">Booked Ref : {{::agencyref(contentzz.Ref)}}</p>
文档中的详细信息:https://docs.angularjs.org/guide/expression#one-time-binding
答案 1 :(得分:1)
如果您只想运行一次,为什么要将其包含在ng-repeat中?
建议1:我建议你可以在父标签中使用ng-init并稍后使用结果。
建议2:您可以使用角度模块的.run方法,但这是一个非常具体的要求。根据您当前的问题,我不确定这是否适合您,但这只是执行该方法一次的另一种方式。
答案 2 :(得分:-1)
使用此
<p style="color:red" ng-if="$first">Booked Ref : {{agencyref(contentzz.Ref)}}</p>
因此,这将仅针对第一个元素执行。