Rumah hujung hadapan web tutorial js 使用vue-router完成简单的导航功能

使用vue-router完成简单的导航功能

Jun 29, 2018 am 11:33 AM
vue

这篇文章主要介绍了关于使用vue-router完成简单的导航功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

vue-router是Vue.js官方提供的一套专用的路由工具库。这篇文章主要介绍了使用vue-router完成简单导航功能,需要的朋友可以参考下

vue-router是Vue.js官方提供的一套专用的路由工具库

安装命令如下

npm i vue-router -D
Salin selepas log masuk

vue-router 实例是一个Vue插件,我们需要在Vue全局引用中通过Vue.use() 将它接入到Vue实例中。

在我们的工程中,,main.js是默认的程序入口文件,所有的全局配置都会在这个文件中进行。

我们在main.js中加入如下引用

import VueRouter from 'vue-router'
Vue.use(VueRouter)
Salin selepas log masuk

这样就完成了 vue-router最基本的安装工作了。

接下来我们要实现的功能描述如下

在首页上有两个链接分别是:购物车和个人中心

点击不同的链接显示不同的内容

首先我们在 src 目录下建立两个组件文件: Cart.vue Me.vue

新建的两个组件文件的内容暂时都是同样的结构

<template>
 <!-- 这个p里面的内容可设置不同以区分 -->
 <p>购物车</p>
</template>
<script>
export default {}
</script>
<style lang="scss"></style>
Salin selepas log masuk

接下来就是在main.js文件中定义路由与这些组件之间的匹配规则了。

VueRouter的定义非常简单:创建一个VueRouter实例,将路由path指定到一个组件类型上

如下代码所示(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)
})
Salin selepas log masuk

我们可以将上面的路由有关的代码提取出来放在另外的一个routes.js文件中去,防止main.js文件的内容越来越长。

新建一个 config 文件夹,然后将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;
Salin selepas log masuk

然后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)
})
Salin selepas log masuk

vue-router 提供了两个指令标签

: 渲染路径匹配到的视图组件
: 支持用户在具有路由功能的应用中导航

在有了上面的两个指令标签,我们就可以在程序入口 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>
Salin selepas log masuk

到此上面的代码已经实现了预期的功能了。

然后我们看to ="/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}
 ]
})
Salin selepas log masuk

这样我们在 <router-link >的to属性使用v-bind绑定到Vue实例中,然后通过名称直接得到Url了

于是App.vue中的链接部分的代码改为如下

  <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>
Salin selepas log masuk

至此,使用vue-router完成了简单导航功能

说明

默认渲染成带有正确链接的标签 ,也可以通过配置 tag 属性生成别的标签

比如

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于vue使用Element组件时v-for循环里的表单项验证的方法

Vue实现textarea固定输入行数与添加下划线样式的思路

Atas ialah kandungan terperinci 使用vue-router完成简单的导航功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara Menggunakan Fungsi Memintas Vue Cara Menggunakan Fungsi Memintas Vue Apr 08, 2025 am 06:51 AM

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.

See all articles