将ng repeat中的值设置为另一个值一次(仅在页面加载时)

Set value in ng-repeat to another value once (only on page-load)

本文关键字:一次 加载 ng 设置 repeat 另一个      更新时间:2023-09-26

我有这个代码;

<div ng-repeat="(key, entry) in entryDetails.Responses" class="responseEntry">
    <h4 ng-click="box=!box"><i ng-class="(!box ? 'fa fa-arrow-down' : 'fa fa-arrow-right')"></i> {{key}}</h4>
    <pre data-slide-toggle="box"><code>{{entry | json}}</code></pre>
</div>

如何将每个box框变量设置为另一个值(在本例中为false(,以便在页面加载时关闭切换?

谢谢!

可能是ng-init将解决此问题。

ng-init="box = false"

它将在每次重复中创建一个变量box,并将其初始化为true

<div ng-repeat="(key, entry) in entryDetails.Responses" class="responseEntry" ng-init="box = false">
    <h4 ng-click="box=!box"><i ng-class="(!box ? 'fa fa-arrow-down' : 'fa fa-arrow-right')"></i> {{key}}</h4>
    <pre data-slide-toggle="box"><code>{{entry | json}}</code></pre>
</div>

ngInit的唯一适当用途是对ngRepeat的特殊属性进行混叠。