この記事の例では、3階層メニューを再帰的に実装するVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 親コンポーネント <テンプレート> <div class="メニューレベルメニューメニューレベルメニュー-enter" v-if="showLevelMenu"> <menu-item class="menu-item" :menuDate="メニューリスト"></menu-item> </div> </テンプレート> サブコンポーネント <テンプレート> <div> <div class="" v-for="(menu, index) in menuDate" :key="index"> // 各メニュー項目 <div class="menu-row" @click="menuSpread(menu)" :class="[{'menu-row-selected': menu.selected && menu.children.length <= 0}]"> <div class="menu-row-left"> <div class="menu-row-left-line" :class="[{'menu-selected': menu.selected && menu.children.length <= 0}]"></div> <i class="iconfont" :class="[menu.menuIcon, {'color-icon': showIconColor(menu)}]"></i> </div> <div class="menu-row-right"> <span :class="[{'font-16': menu.level === '0'}]">{{menu.menuName}}</span> <i class="c" v-if="menu.children.length <= 0"></i> <i class="iconfont icon-liebiaoxiala" v-if="menu.children.length>0 && !menu.selected"></i> <i class="iconfont icon-liebiaoshouqi" v-if="menu.children.length>0 && menu.selected"></i> </div> </div> // メニューを再帰的に表示します <menu-item v-show="menu.selected" v-if="menu.children.length>0" :menuDate="menu.children"></menu-item> </div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 小道具: { menuDate: 配列 }, 名前: 'メニュー項目', メソッド: { menuSpread (メニュー) { menu.menuRouter の場合、 this.$router.push(menu.menuRouter); メニューが選択されました = !メニューが選択されました; this.recursion(this.menuDate、メニュー); }, 再帰(すべて、一時){ all.forEach(アイテム => { if (item.menuName !== temp.menuName) { 項目が選択されました = false; this.recursion(item.children, temp); } }); }, showIconColor (メニュー) { show = false とします。 メニューレベル === '0' の場合 { menu.children.forEach(item => { if (item.children.length <= 0 && item.selected) { 表示 = true; } (アイテムの子供の長さ>0)の場合{ アイテム.children.forEach(アイテム => { (項目が選択されている場合){ 表示 = true; } }); } }); } リターンショー; } } }; </スクリプト> レンダリング 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします
>>: Windows 10 での MySQL 5.7.21 インストーラのインストール グラフィック チュートリアル
目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...
画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...
序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...
<br /> テキスト、記号、リンクの3つの側面に焦点を当て、主に中国語で、個人的な執筆...
目次序文1. レスポンシブシステムの重要な要素1. データの変更を監視する方法2. 依存関係を収集す...
VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...
目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...
面接では、次のようなシナリオを経験する必要があります。インタビュアー: 「MySQL を使用したこと...
まず、GIF 操作を見てみましょう。ケース1: スペースがフィルタリングされるスペースの代わりに角括...
MySQLをインストールする6つの手順(インストールパッケージのみがインストール場所を選択できます)...
Superset は、エレガントなインターフェースとデータ テーブルに基づく動的なデータ生成を主な機...
目次序文1. 使用例2. 実施プロセス3. コンポーネントコード要約する序文1. cavans では...
1. クエリプロセスプロセスリストを表示2. 対応するプロセスを照会し、IDを強制終了します。検証(...