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

时间:2015-07-04 15:08:54

标签: javascript angularjs angularjs-ng-repeat toggle

我有这段代码;

<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),以便我的切换在页面加载时关闭?

谢谢!

1 个答案:

答案 0 :(得分:1)

可能会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的特殊属性。