如何初始化使用ng-repeat生成的动态字段?

时间:2015-10-02 08:56:11

标签: javascript angularjs html5 angularjs-ng-repeat

如果我在我看来这个html代码,使用ng-repeat生成dinamically:

<div ng-repeat="item in selectedProcedures track by $index">
    <span style="display:none;">{{item.id}}</span>

    <div class="row" ng-repeat="item2 in item.serviceComposite.designators">
        <div class="col-sm-10 col-md-10 col-xl-10">
           <div>
               <button ng-click="hidePartBindings{{$parent.$index}} = !hidePartBindings{{$parent.$index}}" style="background: none; border: 0; float:left; text-align:center; margin-right: 5px;"><img src="./css/themes/parsek/img/layout/caret-blue.svg"/></button>
               <span id="serviceComposite{{$parent.$index}}">{{ item2.extension }}</span>
           </div>
           <div class="row" id="partBindings{{$parent.$index}}" ng-repeat="item4 in item.serviceComposite.partBindings" ng-show="hidePartBindings{{$parent.$index}} === false">
               <div ng-repeat="item5 in item4.part.designators">
                   <span class="col-sm-12 col-md-12 col-xl-12">
                       <a style="margin-left: 3rem;" href="#item-information" class="lightbox2" ng-click="checkIfIsModified({{item5.id}}, $event)">{{ item5.extension }}</a>
                   </span>
               </div>
           </div>
        </div>
    </div>
</div>

如何在控制器中初始化所有生成的hidePartBindings{{$parent.$index}}true? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您还可以为重复项目的每个实例考虑一个控制器。当然,如果你有数百件物品,那就不是最好的事了。

<div class="row" ng-repeat="item2 in item.serviceComposite.designators" ng-controller="ItemController">

如果您的项目较少,并希望沿着控制器的路线走下去,那么在项目控制器中设置item.hideParts = true就是一个简单的例子。