在视图中重用/记住函数返回值

时间:2015-07-26 10:34:13

标签: angularjs

想象一下以下情况:

<div ng-repeat="item in stuff" ng-show="getInfo(item) !== null">
    <div>{{getInfo(item).var1}}</div>
    <div>{{getInfo(item).var2}}</div>
    ...
</div>

我在控制器中声明了一个getInfo()函数,它返回给定对象的一些附加信息。

后来,我多次使用该信息。

如何在不多次调用我的控制器功能getInfo()的情况下编写?

这样的事情会很好:

<div ng-repeat="item in stuff" ng-define="info=getInfo(item)" ng-show="info !== null">
    <div>{{info.var1}}</div>
    <div>{{info.var2}}</div>
    ...
</div>

这是否可以在不实施其他指令的情况下实现?

1 个答案:

答案 0 :(得分:1)

您可以使用ng-init

ng-init="info = getInfo(item)"

ngInit指令允许您评估当前作用域中的表达式。 https://docs.angularjs.org/api/ng/directive/ngInit