目的: 実装された機能:ログイン ページを作成し、ホームページにジャンプします。ホームページには、メニュー バー、上部ナビゲーション バー、本文、および標準的な背景 Web ページ形式が含まれます。メニュー バーのさまざまなメニューをクリックすると、さまざまなコンポーネント (さまざまなページ) が表示されます。 ここではテンプレートとしてelement-uiを使用しています 前提条件: プロジェクトディレクトリでコマンドを実行します: ステップ:
1. app.vueページを修正するアプリページに <テンプレート> <div id="アプリ"> <ルータービュー></ルータービュー> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'アプリ'、 メソッド: { } } </スクリプト> <スタイル> </スタイル> 2. ログインページを作成する (/views/login/login.vue)ここのログインボタンはメインページに直接ジャンプし、現在のログインページは完全に置き換えられます。 ログインページコード <テンプレート> <div id="ログイン"> <el-form> <el-row :gutter="20"> <el-col class="title" :offset="9" :span="6"> <h1>ログインページ</h1> </el-col> </el-row> <el-row :gutter="20"> <el-col class="col-label" :offset="7" :span="4"> <span class="label">アカウント:</span> </el-col> <el-col :span="4"> <el-input type="text" placeholder="アカウント番号を入力してください" v-model="account.username"></el-input> </el-col> </el-row> <el-row :gutter="20"> <el-col class="col-label" :offset="7" :span="4"> <span class="label">パスワード:</span> </el-col> <el-col :span="4"> <el-input type="password" placeholder="パスワードを入力してください" v-model="account.password"></el-input> </el-col> </el-row> <el-row :gutter="20"> <el-col :offset="8" :span="8"> <span> <a href="#" rel="external nofollow" rel="external nofollow" @click="register" >アカウントを登録</a> / <a href="#" rel="external nofollow" rel="external nofollow" @click="resetPwd" >パスワードをリセット</a> </span> </el-col> </el-row> <el-row :gutter="20"> <el-col :offset="10" :span="4"> <el-button type="primary" round @click="onSubmit">ログイン</el-button> </el-col> </el-row> </el-form> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'ログイン', データ() { 戻る { アカウント: ユーザー名: ''、 パスワード: '' } } }, メソッド: { 登録する() { this.$メッセージ({ メッセージ: 「そのような機能は存在しないようです」 タイプ: '情報' }) }, リセットPwd() { this.$メッセージ({ メッセージ: 「来世」 タイプ: '成功' }) }, 送信() { this.$router.push('/index') } } } </スクリプト> <スタイルスコープ> #ログイン { テキスト配置: 中央; マージン: 0 自動; } .ラベル { 高さ: 40px; 行の高さ: 40px; } .col-label { テキスト配置: 右; } .el-行 { 上マージン: 15px; } .el-ボタン{ 幅: 120ピクセル; } 。タイトル { 上マージン: 10%; } </スタイル> コードを表示 2.1. router/index.jsにログインページのルーティングを追加する{ パス: '/'、 名前: 'ログイン', コンポーネント: () => import('../views/login/login.vue') }, 3. メインページを作成する (/components/index.vue)メインページは、主に <テンプレート> <el-container style="border: 1px solid #eee"> <el-aside width="200px" style="background-color: rgb(238, 241, 246)"> <el-menu :default-openeds="['1']" :router="true"> <el-サブメニューインデックス="1"> <template slot="title"><i class="el-icon-message"></i>ナビゲーション 1</template> <el-メニュー項目グループ> <template slot="title">グループ 1</template> <el-menu-item index="1-1">オプション 1</el-menu-item> <el-menu-item index="1-2">オプション 2</el-menu-item> </el-menu-item-group> </el-サブメニュー> </el-menu> </el-aside> <el-container class="table-div"> <el-header style="text-align: right; font-size: 12px"> <el-ドロップダウン> <i class="el-icon-setting" style="margin-right: 15px"></i> <el-dropdown-menu slot="ドロップダウン"> <el-dropdown-item>表示</el-dropdown-item> <el-dropdown-item>新規</el-dropdown-item> <el-dropdown-item>削除</el-dropdown-item> </el-dropdown-menu> </el-dropdown> <span>王暁湖</span> </el-header> <メイン> <テーブル></テーブル> </el-main> </el-コンテナ> </el-コンテナ> </テンプレート> <スタイル> .el-ヘッダー{ 背景色: #B3C0D1; 色: #333; 行の高さ: 60px; } .el-aside { 色: #333; } </スタイル> <スクリプト> エクスポートデフォルト{ 名前: 'インデックス', データ() { } } </スクリプト> <スタイル> .table-div { 幅: 100%; } .el-テーブル{ 高さ: 100%; } </スタイル> 3.1. メインページルートを作成する{ パス: '/index', 名前: 'インデックス', コンポーネント: () => import('@/components/index') } この時点で、ログインページからメインページへジャンプする動作設定は完了です。効果を確認してください。プロジェクトを開始し、http://localhost:8080/#/ にアクセスします。 クリックしてログインし、ホームページに移動します 4. ホームページを変更する主に2つの部分を変更します:メニュージャンプパス、メイン構成ルーティングビュー 4.1. メニュールーティングモードを有効にし、メニュージャンプパスを変更する
4.2. ルータビューを追加するメインコンテンツを 5. 2つのサブページを作成するルーティングアドレスが正しく設定されている限り、ページはどこにでも配置できます。
{ パス: '/index', 名前: 'インデックス', component: () => import('@/components/index'), // ここでホームページのデフォルトルートジャンプのページコンポーネントを設定します children: [ // 子ルートを追加します { path: 'page', // 注意: パスの前に / を付けないでください。そうしないとジャンプしません。ここで損失を被りました。name: 'page', components: { // パラメータ名にはsが付いていることに注意してください table: () => import('@/components/first-page') // ここでのテーブルは、ホームページの router-view タグの名前と同じである必要があります。これにより、ホームページのルーティング ビューがジャンプします。3.2 を参照してください。 } }, { パス: 'テーブル', 名前: 'テーブル', コンポーネント: テーブル: () => import('@/components/first-table') } } ] } この方法で設定されたアクセスアドレスは、localhost:8080/#/index/page、localhost:8080/#/index/tableです。 設定はこれで完了です。ページにアクセスしてテストしてください。 ご覧のとおり、2 つのメニュー構成により、メインのルーティング ビューが変更され、ビューに表示されるページ コンポーネントが制御されます。設定完了 これで、vue ルーティング ビュー router-view のネストされたジャンプの詳細に関するこの記事は終了です。vue ルーティング ビュー router-view のネストされたジャンプの関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL データベースの高度なクエリとマルチテーブルクエリ
>>: Docker を使用して Redis マスター スレーブ レプリケーション クラスターを構築する
実際のプロジェクトでは、上下のスクロール バーと左右のスクロール バーは DIV 内にないため、右の...
ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...
vue2 では、タイムスタンプを変換するときに、通常はフィルターを使用します。vue3 以降では、...
質問:オリジン サーバーはターゲット リソースの表現を見つけることができないか、既存の表現を公開した...
最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...
デフォルトでは、テーブルの幅と高さはコンテンツに応じて自動的に調整されます。テーブルの幅と高さを手動...
最近のプロジェクトでは、ブレークポイントからビデオの再生を再開する機能を実装する必要がありました。こ...
パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...
目次準備展開プロセスRocketMQ の初体験関連する質問ヘルプドキュメント私は最近 RocketM...
1. はじめにここでは apollo について詳しく説明しません。公式サイト https://git...
インストールインストールするには、次のコマンドを入力します。 // ネプ npm で react-r...
0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...
1. 属性へのリンク(1)ルーティングパスを配置する(2)指定された形式でオブジェクトを配置する{パ...
目次序文1. バイナリツリー1.1. 二分木の走査1.2. jsを使用してバイナリツリーを表現する1...
ウェブ全体を検索して、さまざまな落とし穴を見つけましたが、問題は解決しませんでした。ついに自分でも分...