如何在 ng-repeat 中设置范围变量?
How to set scope variable inside ng-repeat?
我想确定是否呈现了任何 ng-repeated 元素。
我写这段代码
<div ng-show="anyRendered">Any has been rendered</div>
<div ng-show="anyFilterActive">ANY FILTER IS ACTIVE</div>
<div class="selected-filter-value" ng-if="filter.name && filterCtrl.isActiveFilter(filter)" data-ng-repeat="(name, filter) in filterOptions">
<span ng-init="anyFilterActive = true;">{{filter.name}}:</span>
</div>
但是这段代码不起作用。我也尝试在 ng-repeat.
中写 $parent.anyRendered
尝试使用 ng-if
<div ng-show="filterOptions.length > 0">Any has been rendered</div>
<div ng-if="filterOptions.length > 0" ng-repeat="(name, filter) in filterOptions">
<span></span>
</div>
您不得在模板中编写代码逻辑:所有代码都必须在您的控制器、过滤器、指令和服务中。 ng-init
指令只在这里,以便您可以创建别名以使您的模板更简单。
过滤器和指令包含 "presentation code",控制器和服务包含 "business related code"。
您可以创建一个过滤器来了解对象是否为空 (filter code from another question),并将其与 ng-if、ng-show 一起使用...
生成的模板:
<div ng-if="filterOptions|empty">
Nothing to show!
</div>
<div ng-repeat="(k, v) in filterOptions">
{{k}}, {{v}}
</div>
只需使用 $index
<div ng-repeat="(name, filter) in filterOptions">
<span ng-show="$index > 0"></span>
</div>
在 ng-repeat 文档的示例中,您可以看到 $index 的用法
我想确定是否呈现了任何 ng-repeated 元素。
我写这段代码
<div ng-show="anyRendered">Any has been rendered</div>
<div ng-show="anyFilterActive">ANY FILTER IS ACTIVE</div>
<div class="selected-filter-value" ng-if="filter.name && filterCtrl.isActiveFilter(filter)" data-ng-repeat="(name, filter) in filterOptions">
<span ng-init="anyFilterActive = true;">{{filter.name}}:</span>
</div>
但是这段代码不起作用。我也尝试在 ng-repeat.
中写 $parent.anyRendered尝试使用 ng-if
<div ng-show="filterOptions.length > 0">Any has been rendered</div>
<div ng-if="filterOptions.length > 0" ng-repeat="(name, filter) in filterOptions">
<span></span>
</div>
您不得在模板中编写代码逻辑:所有代码都必须在您的控制器、过滤器、指令和服务中。 ng-init
指令只在这里,以便您可以创建别名以使您的模板更简单。
过滤器和指令包含 "presentation code",控制器和服务包含 "business related code"。
您可以创建一个过滤器来了解对象是否为空 (filter code from another question),并将其与 ng-if、ng-show 一起使用...
生成的模板:
<div ng-if="filterOptions|empty">
Nothing to show!
</div>
<div ng-repeat="(k, v) in filterOptions">
{{k}}, {{v}}
</div>
只需使用 $index
<div ng-repeat="(name, filter) in filterOptions">
<span ng-show="$index > 0"></span>
</div>
在 ng-repeat 文档的示例中,您可以看到 $index 的用法