溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

vue中VueRouter路由基礎(chǔ)的示例分析

發(fā)布時(shí)間:2022-03-04 10:38:20 來(lái)源:億速云 閱讀:106 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹vue中VueRouter路由基礎(chǔ)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、VueRouter

1、說(shuō)明

用 Vue.js + Vue Router 創(chuàng)建單頁(yè)應(yīng)用,感覺(jué)很自然:使用 Vue.js ,我們已經(jīng)可以通過(guò)組合組件來(lái)組成應(yīng)用程序,當(dāng)你要把 Vue Router 添加進(jìn)來(lái),我們需要做的是,將組件 (components) 映射到路由 (routes),然后告訴 Vue Router 在哪里渲染它們。路由本質(zhì)上就是超鏈接。

2、選中路由的渲染:

(1)、router-link-exact-active類(lèi)

當(dāng)路由到哪里時(shí),該類(lèi)名就添加到對(duì)應(yīng)的路由標(biāo)簽上。
比如:當(dāng)點(diǎn)擊About時(shí),路由就跳轉(zhuǎn)到About對(duì)應(yīng)的頁(yè)面

(2)、router-link-active類(lèi)

路由中,子路由的path設(shè)置(比如:http://localhost/home)包含了父路由的path設(shè)置(比如:http://localhost/),那么點(diǎn)擊子路由的時(shí)候,給子路由添加router-link-active類(lèi)時(shí),父路由也有router-link-active類(lèi)。也就是當(dāng)點(diǎn)擊(http://localhost/home)路由后,兩個(gè)路由都有被選中的效果。

3、基本工作原理

vue中VueRouter路由基礎(chǔ)的示例分析

vue中的html部分引入router-link(與a原理類(lèi)似),to屬性就是要跳轉(zhuǎn)的vue組件,而router-view就負(fù)責(zé)展現(xiàn)當(dāng)前路由所指向的內(nèi)容,使得單頁(yè)面也能達(dá)到頁(yè)面跳轉(zhuǎn)的效果!

二、實(shí)戰(zhàn)

1、創(chuàng)建一個(gè)帶router的vue項(xiàng)目

vue中VueRouter路由基礎(chǔ)的示例分析

2、打開(kāi)項(xiàng)目中的src/router/index.js文件

可以看到項(xiàng)目已經(jīng)自動(dòng)生成了兩個(gè)路由,一個(gè)是主頁(yè)home,一個(gè)是about界面。路徑分別為 '/' '/about' 。

vue中VueRouter路由基礎(chǔ)的示例分析

打開(kāi)根目錄的main.js,可以看到在main.js引入了路由,所以在所有組件中都可以使用路由了。

vue中VueRouter路由基礎(chǔ)的示例分析

3、在瀏覽器中打開(kāi)項(xiàng)目

可以看到HomeAbout兩個(gè)路由導(dǎo)航。

vue中VueRouter路由基礎(chǔ)的示例分析

4、新建路由

寫(xiě)一個(gè)類(lèi)似淘寶的路由導(dǎo)航,包括:主頁(yè)、消息、購(gòu)物車(chē)和我的四部分。

新建四個(gè)vue文件,對(duì)應(yīng)四個(gè)路由。

vue中VueRouter路由基礎(chǔ)的示例分析

配置路由index.js文件

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/message',
    name: 'Message',
    component: () => import(/* webpackChunkName: "about" */ '../views/Message.vue')
  },
  {
    path: '/goodcar',
    name: 'GoodCar',
    component: () => import(/* webpackChunkName: "about" */ '../views/GoodCar.vue')
  },
  {
    path: '/me',
    name: 'Me',
    component: () => import(/* webpackChunkName: "about" */ '../views/Me.vue')
  }
]

const router = new VueRouter({
  routes
})

export default router

在App.vue中配置導(dǎo)航欄

<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">主頁(yè)</router-link>
      <router-link to="/message">消息</router-link>
      <router-link to="/goodcar">購(gòu)物車(chē)</router-link>
      <router-link to="/me">我的</router-link>
    </div>
    <router-view/>
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

#nav {
  padding: 30px;
  margin: 0 auto;
  width: 30%;
  display: flex;
  justify-content: space-around;
}

#nav a {
  font-weight: bold;
  color: #2c3e50;
  text-decoration: none;
}

#nav a.router-link-exact-active {
  color: #42b983;
}
</style>

結(jié)果:

vue中VueRouter路由基礎(chǔ)的示例分析

以上是“vue中VueRouter路由基礎(chǔ)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI