Angular ng-hide带有动态标志

时间:2014-03-21 08:29:36

标签: javascript angularjs

我有一个表,它根据其中一个字段值进行行分组。分组工作正在进行中。我正在使用ng-hide展开和折叠。默认情况下,我希望第一组被展开,其他组要折叠。我正在使用像ng-hide="flag"这样的标志变量。

此标志导致所有组展开或折叠。

我可以根据ng-hide动态工作在运行时有条件地设置此标志。 我试过添加一个javascript函数并在ng-hide =“funct()”中调用它 那没用。

<tbody ng-repeat="group in $groups" class="ng-cloak"  >
      <tr  >
           <td class="ng-cloak"  >

               <a href="" ng-click="flag = !flag" >
            <span ng-show="flag"><i class="icon-fixed-width">&#xf067;</i></span>
    <span ng-show="!flag"><i class="icon-fixed-width">&#xf068;</i></span>

                </a>
                {{group.value}}
            </td>
        </tr>
         <tr   ng-hide ="flag" ng-repeat="x in group.data | filter:query| orderBy:predicate:reverse " >

</tr>
</tbody>

3 个答案:

答案 0 :(得分:2)

您可以使用ng-init指令通过函数调用初始化标志:

<tr ng-init="flag = someFunction()">

这是一个jsfiddle来演示这个例子 这是使用您的标记的更新演示:http://jsfiddle.net/gion_13/dTPvE/2/

答案 1 :(得分:1)

您可以使用$ index og ng-repeat。有不同的ng-repeat变量,$ index,$ first,$ last等。 你使用像

这样的东西

纳克隐藏= “$索引== 1”

答案 2 :(得分:0)

像这样使用ng-init

<tbody ng-repeat="group in $groups" class="ng-cloak" ng-init="flag = !$first">

小提琴:http://jsfiddle.net/dTPvE/4/