ナビゲーション項目をリストする単純なナビゲーション オブジェクトのセットアップがあります (そして、それらがプライマリ ナビゲーションに表示されるかどうか)。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
が 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] でトランスクルージョンを要求しています:
2回存在することを宣言しているとは言えません。内側の要素に使用することもできますが、空の外側のタグng-if
がたくさん残ることになると思います。a