ホームページ > ウェブフロントエンド > jsチュートリアル > vue-router を使用して単純なナビゲーション機能を完了する

vue-router を使用して単純なナビゲーション機能を完了する

不言
リリース: 2018-06-29 11:33:04
オリジナル
1757 人が閲覧しました

この記事では、簡単なナビゲーション機能を完成させるための vue-router の使用法を主に紹介します。必要な友人はそれを参照できるように共有します。

vue-router は、Vue によって公式に提供されるセットです。 js 専用のルーティング ツール ライブラリ。この記事では、vue-router を使用して簡単なナビゲーション機能を完成させる方法を主に紹介しますので、必要な方は参考にしてください

vue-router は、Vue.js によって公式に提供されている専用のルーティング ツール ライブラリのセットです

インストール コマンドは次のとおりです。

npm i vue-router -D
ログイン後にコピー

vue-router インスタンスは Vue プラグインです。Vue グローバル参照の Vue.use() を介して Vue インスタンスに接続する必要があります。

私たちのプロジェクトでは、main.js がデフォルトのプログラム エントリ ファイルであり、すべてのグローバル設定はこのファイルで実行されます。

main.jsに以下の参照を追加します

import VueRouter from 'vue-router'
Vue.use(VueRouter)
ログイン後にコピー

これでvue-routerの最も基本的なインストール作業は完了です。

次に実装したい機能は次のとおりです

ホームページには、ショッピングカートとパーソナルセンターの2つのリンクがあります

異なるコンテンツを表示するには、異なるリンクをクリックしてください

まず、srcディレクトリに2つのリンクを作成しますコンポーネント ファイル: Cart.vue Me.vue

新しく作成された 2 つのコンポーネント ファイルの内容は、一時的に同じ構造になります

<template>
 <!-- 这个p里面的内容可设置不同以区分 -->
 <p>购物车</p>
</template>
<script>
export default {}
</script>
<style lang="scss"></style>
ログイン後にコピー

次のステップは、メインのルートとこれらのコンポーネント間のルーティングを定義することです。 js ファイルのルールに一致します。

VueRouterの定義は非常に簡単です: VueRouterインスタンスを作成し、コンポーネントタイプへのルーティングパスを指定します

以下のコード(main.js)に示すように

import Vue from &#39;vue&#39;
import App from &#39;./App.vue&#39;
import VueRouter from &#39;vue-router&#39;
//引入创建的两个组件
import Cart from &#39;./Cart.vue&#39;
import Me from &#39;./Me.vue&#39;
//使用路由实例插件
Vue.use(VueRouter)
const router = new VueRouter({
 mode:&#39;history&#39;,
 base: &#39;__dirname&#39;,
 routes:[
 //将页面组件与path指令的路由关联
 {path:&#39;/cart&#39;,component:Cart},
 {path:&#39;/me&#39;,component:Me}
 ]
})
new Vue({
 el: &#39;#app&#39;,
 //将路由实例添加到Vue实例中去
 router,
 render: h => h(App)
})
ログイン後にコピー

ルーティング関連を抽出できます上記のコードを取り出して、main.js ファイルの内容が長くなるのを防ぐために、別の Routes.js ファイルに置きます。

新しい設定フォルダーを作成し、そこにroutes.jsファイルを追加します。

その後、routes.js コードは次のようになります

import Vue from &#39;vue&#39;
import VueRouter from &#39;vue-router&#39;
//引入创建的两个组件
import Cart from &#39;../Cart.vue&#39;
import Me from &#39;../Me.vue&#39;
//使用路由实例插件
Vue.use(VueRouter)
const router = new VueRouter({
 mode:&#39;history&#39;,
 base: &#39;__dirname&#39;,
 routes:[
 //将页面组件与path指令的路由关联
 {path:&#39;/cart&#39;,component:Cart},
 {path:&#39;/me&#39;,component:Me}
 ]
})
export default router;
ログイン後にコピー

そして、main.js ファイルのコードは次のように削減されます:

import Vue from &#39;vue&#39;
import App from &#39;./App.vue&#39;
import router from &#39;./config/routes&#39;
new Vue({
 el: &#39;#app&#39;,
 //将路由实例添加到Vue实例中去
 router,
 render: h => h(App)
})
ログイン後にコピー

vue-router は 2 つのコマンド タグを提供します

< router-view>: レンダリング パスと一致するビュー コンポーネント
: ルーティング機能を使用してユーザーがアプリケーション内を移動できるようにします

上記 2 つのコマンド タグを使用すると、プログラムの入り口で App.vue に入ることができます対応するコードを記述します:

<template>
 <p id="app">
 <p class="tabs">
  <ul>
  <li>
   <router-link to ="/cart">
   <p>购物车</p>
   </router-link>
  </li>
  <li>
   <router-link to ="/me">
   <p>个人中心</p>
   </router-link>
  </li>
  </ul>
 </p>
 <p class="content">
  <!-- 使用 router-view 渲染视图 -->
  <router-view></router-view>
 </p>
 </p>
</template>
<script>
export default {
 name: "app"
};
</script>
<style lang="scss"></style>
ログイン後にコピー

この時点で、上記のコードは期待どおりの機能を実現しています。

次に、="/cart" へのパスが実際に {path:'/cart',component:Cart} で定義されていることがわかります。変更する必要がある場合は、これらが必要です。二 全ての箇所を同時に変更します(他の箇所でも使用されている場合はさらに変更します) {path:&#39;/cart&#39;,component:Cart}定义过了,如果需要修改,就得需要这两个地方同时修改(如果有其他地方用的就改动的更多)

那么直接将{path:&#39;/cart&#39;,component:Cart}中的路径取出来岂不是很好。

这个时候我们的 vue-router提供了一种隐式的路由引用方式,称之为 —— 命名路由

简单来说就是通过路由的名称引用来取代Url

于是VueRouter的配置代码改为如下:

const router = new VueRouter({
 mode:&#39;history&#39;,
 base: &#39;__dirname&#39;,
 routes:[
 //将页面组件与path指令的路由关联
 {name:&#39;cart&#39;,path:&#39;/cart&#39;,component:Cart},
 {name:&#39;me&#39;,path:&#39;/me&#39;,component:Me}
 ]
})
ログイン後にコピー

这样我们在 <router-link >

それなら{path:'/cart',component:Cart内のパスを直接取り出したら良いんじゃないでしょうか}

現時点では、vue-router は、名前付きルートと呼ばれる暗黙的なルート参照メソッドを提供します

簡単に言えば、Url をルートの名前参照で置き換えます

そのため、VueRouter の設定コードは次のように変更されます。

  <li>
   <router-link :to ="{name:&#39;cart&#39;}">
   <p>购物车</p>
   </router-link>
  </li>
  <li>
   <router-link :to ="{name:&#39;me&#39;}">
   <p>个人中心</p>
   </router-link>
  </li>
ログイン後にコピー

このように、v-bind を使用して <router-link > の to 属性を Vue インスタンスにバインドし、名前を通じて URL を直接取得します。


そこで、App.vueのリンク部分のコードを以下のように変更します

  <li>
   <router-link :to ="{name:&#39;cart&#39;}" tag="span">
   <p>购物车</p>
   </router-link>
  </li>
ログイン後にコピー

この時点でvue-routerを使った簡易ナビゲーション機能は完成です

手順

デフォルトでは正しいリンクを持つ < ;a> タグとして表示されますが、

rrreee

などのタグ属性を設定することで他のタグを生成することもできます。上記はこの記事の全内容です。皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語に注目してください。

関連する推奨事項:

Vue が Element コンポーネントを使用する場合の v-for ループでのフォーム項目の検証方法について

🎜🎜テキストエリアに固定数の入力行を実装し、下線スタイルを追加するという Vue のアイデア🎜🎜🎜🎜🎜🎜🎜 🎜🎜

以上がvue-router を使用して単純なナビゲーション機能を完了するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
vue
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート