我有一个简单的导航对象设置,列出了导航项目(以及它们是否应该出现在主导航中)。似乎当我尝试将 ng-if 与 ng-repeat 混合时,事情就崩溃了,但是当我将 ng-show 与 ng-repeat 混合时,它工作正常(但我最终得到了一堆我不知道的隐藏元素想要附加到 DOM)。
<section class="nav">
<a ng-repeat="(key, item) in route.routes"
ng-href="{{key}}"
ng-show="item.nav"
>
{{item.label}}
</a>
</section>
但以下不起作用(注意ng-show
is now ng-if
):
<section class="nav">
<a ng-repeat="(key, item) in route.routes"
ng-href="{{key}}"
ng-if="item.nav"
>
{{item.label}}
</a>
</section>
路线对象看起来像
routes: {
'/home': { label: 'Home', nav: true },
'/contact': { label: 'Contact', nav: false},
// etc
}
尝试使用时收到以下错误ng-if
:
错误:多个指令 [ngIf, ngRepeat] 要求包含以下内容:
我想它试图告诉我我不能声明它存在两次。我可以ng-if
在内部元素上使用,但我想我最终还是会得到一堆空的外部a
标签。