0

我的问题是我想根据 2 个嵌套 ng-repeat 指令的索引动态生成范围变量。当我在 DOM 中显示该表达式时,它可以正常工作,但 ng-bind 内部的相同则不起作用。($index 有效,但 $parent.$index 无效)这是我的代码:

<div class="panel panel-primary" ng-repeat="device in home.devices">
    <div class="panel-heading">
      <h3 class="panel-title pull-right">
        <a href="#settings">
            <em class="fa fa-cog"></em>
        </a>
      </h3>
        <h3 class="panel-title" ng-bind="::device.name"></h3>
    </div>
    <div class="panel-body">
          <div class="row">
            <div class="col-lg-4 text-center" ng-repeat="sensor in device.sensors">
                <div class="panel panel-default">
                    <div class="panel-body">

                        <h2 ng-if="device.type == 'bm'" ng-bind="t{{$parent.$index}}{{$index}}"></h2>
                        t{{$parent.$index}}{{$index}}
                    </div>
                </div>
            </div>
          </div>
    </div>
  </div>

图片:ng-bind 中的 $parent.$index 不起作用

4

1 回答 1

1

我敢打赌,$parent实际上是由ng-if.

在没有 的情况下尝试它ng-if,看看它是否有效。然后,使用$parent.$parent.$index

这当然是可怕的。

你可以做ng-show而不是ng-if. 它仍然很可怕,并且给下一个看到该代码并尝试使用ng-if. 但是,嘿,不$parent.$parent

如何“正确”地做到这一点,是一个很好的问题。

我会尽量不使用 $index 。是否有一些 ID可以用于同样的事情devicesensor这可能具有额外的优势,即无论订单如何,给定项目始终具有相同的价值,如果这很重要的话。

于 2015-10-08T12:05:23.417 回答