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

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

我有这个代码;

<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>

The only appropriate use of ngInit is for aliasing special properties of ngRepeat.