$parent.$index 在 ng-bind 中不起作用,但在 DOM 中起作用
$parent.$index not working inside ng-bind but works in the DOM
我的问题是我想根据来自 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>
我敢打赌 $parent
实际上是由 ng-if
创建的范围。
在没有 ng-if
的情况下尝试一下,看看它是否有效。
然后,使用 $parent.$parent.$index
这当然很可怕。
您可以 ng-show
而不是 ng-if
。它仍然很糟糕,给看到该代码并尝试使用 ng-if
改进它的下一个开发人员留下一个令人讨厌的惊喜。但是,嘿,不 $parent.$parent
!
怎么做"properly",是个好问题。
我会尽量不使用 $index。 device
和 sensor
中是否有一些 ID 可以用于同一件事?这可能具有额外的优势,即无论顺序如何,给定项目始终具有相同的值,如果这很重要的话。
我的问题是我想根据来自 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>
我敢打赌 $parent
实际上是由 ng-if
创建的范围。
在没有 ng-if
的情况下尝试一下,看看它是否有效。
然后,使用 $parent.$parent.$index
这当然很可怕。
您可以 ng-show
而不是 ng-if
。它仍然很糟糕,给看到该代码并尝试使用 ng-if
改进它的下一个开发人员留下一个令人讨厌的惊喜。但是,嘿,不 $parent.$parent
!
怎么做"properly",是个好问题。
我会尽量不使用 $index。 device
和 sensor
中是否有一些 ID 可以用于同一件事?这可能具有额外的优势,即无论顺序如何,给定项目始终具有相同的值,如果这很重要的话。