Vue が 4 レベルのナビゲーションと検証コードを実装する方法の例

Vue が 4 レベルのナビゲーションと検証コードを実装する方法の例

効果:

まず5つのVueインターフェースを作成する

1.home.vueページ

<テンプレート>
  <div id="ホームラッパー">
    <h1>{{ 名前 }}</h1>
    <ナビ>
      <!-- セカンダリ ルータの出口はプライマリ ルータのインターフェイスにあります -->
      <router-link to="/one">1</router-link>
      <router-link :to="{ name: 'Two' }">2</router-link>
      <router-link :to="threeObj">3</router-link>
      <!-- プログラムによるナビゲーション/ルーティング -->
      <button @click="fourBtn">4</button>
    </nav>
     <ルータービュー></ルータービュー>
  </div>
</テンプレート>
 
<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
      名前: "ホーム",
      3つのオブジェクト: {
        名前:「3」、
      },
    };
  },
  メソッド: {
    4つのボタン(){
      var ユーザーID = 6789;
      this.$router.push({
        パス: `four/${userId}`,
      });
    },
  },
};
</スクリプト>
 
<style lang="less" スコープ>
#ホームラッパー{
  ナビ{
    ディスプレイ: フレックス;
    {
      フレックス: 1;
      背景色: アンティークホワイト;
      高さ: 50px;
      行の高さ: 50px;
    }
  }
}
</スタイル>

2.one.vueインターフェース

<テンプレート>
    <div>
        <h1>{{名前}}</h1>
        <ul>
            <li>
                <router-link to="/levl31">ウェブ</router-link>
            </li>
            <li>
                <router-link :to="{name:'name32'}">バックエンド</router-link>
            </li>
            <li>
                <!-- マルチレベルルーティングでは名前付きルートを使用する方が便利です -->
                <router-link :to="{name:'name33'}">AI</router-link>
            </li>
            <li>
                <router-link to="/one/levl34">UI</router-link>
            </li>
            <li>
                <router-link :to="{name:'name35'}">レベル 3 ルーター 4</router-link>
            </li>
        </ul>
        <!-- 第 3 レベルのルータは第 2 レベルのルータのインターフェイスを終了します -->
        <ルータービュー></ルータービュー>
 
    </div>
</テンプレート>
 
<スクリプト>
    エクスポートデフォルト{
        名前:'One',
        データ() {
            戻る {
                名前:「最初のページ」
            }
        },
        
    }
</スクリプト>
 
<style lang="less" スコープ>
ul{
    リストスタイル: なし;
    ディスプレイ: フレックス;
    幅: 100%;
    左マージン: -40px;
 
}
li{
    フレックス: 1;
    背景色: オレンジ;
    高さ: 50px;
    行の高さ: 50px;
 
}
 
</スタイル>

3.two.vueページと検証コードの実装

結果図:

<テンプレート>
  <div>
    <h1>{{ 名前 }}</h1>
    <button @click="changeCode">確認コード</button>
    <img :src="imgCodeUrl" alt="">
  </div>
</テンプレート>
 
<スクリプト>
エクスポートデフォルト{
  // コンポーネントのエイリアスは、Vue デバッグ中に表示するのに便利です。name: "Two_zh",
  データ() {
    戻る {
      名前: "ページ 2",
      画像コード URL:""
    };
  },
  メソッド: {
    // 検証コードを取得する changeCode() {
        // /api は vue.config.js 内のプロキシ設定です。const url = "api/v1/captchas";
    // 定数 url = "https://elm.cangdu.org/v1/captchas";
      この.axios
        .post(url, {})
        .then((res) => {
            this.imgCodeUrl =res.data.code 
          console.log("検証コードインターフェース:",res);
        })
        .catch((e) => {
          console.log("エラー:", e);
        });
    },
  },
};
</スクリプト>
 
<style lang="less" スコープ>
</スタイル>

4. three.vue ページ

<テンプレート>
    <div>
        <h1>{{名前}}</h1>
 
    </div>
</テンプレート>
 
<スクリプト>
    エクスポートデフォルト{
        名前:'3',
        データ() {
            戻る {
                名前:「ページ3」
            }
        },
        
    }
</スクリプト>
 
<style lang="less" スコープ>
 
</スタイル>

5.four.vue ページ

<テンプレート>
    <div>
        <h1>{{名前}}</h1>
 
    </div>
</テンプレート>
 
<スクリプト>
    エクスポートデフォルト{
        名前:'4',
        データ() {
            戻る {
                名前: "ページ 4"
            }
        },
        作成された() {
            console.log("ページ 4 が作成されました:",this.$route)
        },
    }
</スクリプト>
 
<style lang="less" スコープ>
 
</スタイル>

次にルートを設定します。

'vue' から Vue をインポートします
'vue-router' から VueRouter をインポートします。
'@/views/day/home.vue' から Home2 をインポートします。
 
Vue.use(VueRouter)
 
定数ルート = [
  {
    パス: "/"、
    名前: 'home2',
    コンポーネント: Home2、
    リダイレクト: "/one",
    子供たち: [
      {
        パス: "/one",
        名前: 'One'、
        コンポーネント: () => import("@/views/day/one.vue"),
        子供たち: [
          {
            パス: '/levl31',
            // h creacteElement は仮想 Dom/ラベル Vnode を作成することを意味します 
            // 最初のパラメータはタグ名の拡張子です。記述するコンポーネントもタグ名である場合 // 2 番目のパラメータはタグのオプションの属性構成です // 3 番目のパラメータはタグ コンポーネントの内容です: {
              レンダリング(h) {
                h("h1", "フロントエンド") を返します
              }
            },
          },
          {
            // /Default はルートディレクトリを表します#/levl31
            // スラッシュがなければ自動的に連結されます#/one/levl32
            //名前付きルーティングパスを使用する: "levl32"
            名前: "name32",
            成分: {
              レンダリング(h) {
                h("h1", "バックエンド") を返します
                }
              },
            },
            {
              パス:"/one?level33",
              名前:"name33",
              成分:{
                レンダリング(h) {
                  h("h1", "人工知能") を返す
                  }
              }
            },
            {
              パス:"/one/levl34",
              名前:"name34",
              成分:{
                レンダリング(h) {
                  return h("h1","ただのアーティスト")
                  }
              }
            },
            //レベル3および4ルーティング{
              パス:"レベル35",
              名前:"name35",
              コンポーネント:()=>import("@/views/Home.vue"),
              //第4レベルのルーティングの子:[
                {
                  パス:"男の子",
                  名前:"男の子",
                  コンポーネント:()=>import("@/views/boy.vue")
                },
                {
                  パス:"女の子",
                  名前:"女の子",
                  コンポーネント:()=>import("@/views/girl.vue")
                }
 
              ]
 
            }
        ]
      },
      {
        パス: "/two",
        名前: '2'、
        コンポーネント: () => import("@/views/day/two.vue")
      },
      {
        パス: "/three",
        名前: 'Three'、
        コンポーネント: () => import("@/views/day/three.vue")
      },
      {
        // オプションパラメータ \d 数値文字列はパスと一致しません: "four/:id(\\d*)?",
        名前: 'Four'、
        コンポーネント: () => import("@/views/day/four.vue")
      },
    ]
  }
]
 
const ルーター = 新しい VueRouter({
  ルート
})
 
デフォルトルーターをエクスポートする

要約する

Vue の 4 レベル ナビゲーションと検証コードの実装に関するこの記事はこれで終わりです。Vue の 4 レベル ナビゲーションと検証コードの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue はナビゲーション バー効果を実現します (選択状態の更新は消えません)
  • Vueでnavナビゲーションバーを実装する方法
  • Vue2.0はナビゲーションメニューの切り替え効果を実現します
  • Vueはナビゲーションバーメニューを実装します
  • 非常に実用的なvueナビゲーションフック
  • VUEはスクロール監視ナビゲーションバーを上部に維持する方法を実装しています
  • Vue検証コードの60秒カウントダウン機能の簡単な実装
  • vueは携帯電話経由でSMS認証コードを送信する登録機能を実装します
  • VUEは画像検証コード機能を実装
  • Vueはランダムな検証コードサンプルコードを生成します

<<:  CentOS に Nginx をインストールする方法

>>:  標準SQL更新ステートメントの3つの用途についての簡単な理解

推薦する

React のグローバル状態管理の 3 つの基本メカニズムの調査

目次序文小道具コンテクスト州要約する序文最新のフロントエンド フレームワークはすべて、コンポーネント...

初心者でもjsのtypeofとinstanceofの違いを理解できます

目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...

JSはリクエストディスパッチャーを実装する

目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...

実行中のDockerコンテナのポートマッピングを変更する方法

序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...

Access_Tokenの統合管理を実現するミニプログラム開発

目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...

JavaScript キャンバスは影付きのグラフィックとテキストを実装します

キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...

MySQL 学習 (VII): Innodb ストレージ エンジン インデックスの実装原理の詳細説明

概要データベースでは、ツリー ディレクトリと同様に、インデックスを使用してデータ検索を高速化します。...

Web デザインにおける HTML フォーマットと長いファイルに関するヒント

<br />関連記事: Web コンテンツ ページ作成に関する 9 つの実用的な提案、W...

CSS3は赤い封筒を振る効果を実現します

赤い封筒の揺れ効果を実現するには要件があります。これまでやったことがないので、記録しておきます。ヘヘ...

React、Angular、Vueの3つの主要なフロントエンド技術の詳細説明

目次1. 反応する基本的な使い方注目すべき機能クラスコンポーネント仮想DOMライフサイクルメソッドJ...

ログインインターフェースの使いやすさとセキュリティのバランスをとる方法

ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

MySQL トランザクション分析

取引トランザクションはビジネス ロジックの基本単位です。各トランザクションは一連の SQL ステート...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

HTML の基本 - ハイパーリンク スタイルを設定する簡単な例

*** ハイパーリンクのスタイル設定の例a:link クリックされる前のハイパーリンクの状態a:vi...