vue-router實(shí)現(xiàn)tab標(biāo)簽頁(單頁面)詳解
vue-router 是 Vue.js 官方的路由插件,適合用于構(gòu)建標(biāo)簽頁應(yīng)用。Vue 的標(biāo)簽頁應(yīng)用是基于路由和組件的,路由用于設(shè)定訪問路徑,并將路徑和組件映射起來,vue-router 會(huì)把各個(gè)組件渲染到正確的地方。
首先,.vue中的內(nèi)容非常簡單,<router-link>創(chuàng)建標(biāo)簽,并指定路徑,<router-view>渲染路由匹配到的組件。
<template> <div id="account"> <p class="tab"> <!-- 使用 router-link 組件來導(dǎo)航. --> <!-- 通過傳入 `to` 屬性指定鏈接. --> <!-- <router-link> 默認(rèn)會(huì)被渲染成一個(gè) `<a>` 標(biāo)簽 --> <router-link to="/account/course">我的課程</router-link> <!-- 注意這里的路徑,course和order是account的子路由 --> <router-link to="/account/order">我的訂單</router-link> </p> <!-- 路由出口 --> <!-- 路由匹配到的組件將渲染在這里 --> <router-view></router-view> </div> </template>
結(jié)構(gòu)很簡單,我們有一個(gè)賬戶頁 account,account 中還包含兩個(gè)標(biāo)簽頁,分別是課程 course 和訂單 order。
在寫路由的時(shí)候,需要注意頁面間層級(jí)關(guān)系,開始我是這樣寫的:
import Vue from 'vue'
import Router from 'vue-router'
import Account from ...
import CourseList from ...
import OrderList from ...
Vue.use(Router)
export default new Router({
routes: [
{
path: '/account',
name: 'account',
component: Account
},
{
path: '/my-course',
name: 'course',
component: CourseList
},
{
path: '/my-order',
name: 'order',
component: OrderList
}
]
})
這樣做會(huì)使得點(diǎn)擊 <router-link> 時(shí),跳轉(zhuǎn)到新頁面,而不是在 <router-view> 中顯示組件。
正確的路由應(yīng)該這樣寫:
routes: [
{
path: '/account',
name: 'account',
component: Account,
children: [
{name: 'course', path: 'course', component: CourseList},
{name: 'order', path: 'order', component: OrderList}
]
}
]
注冊一個(gè)根路由 account,將 course 和 order 注冊為 account 中的子路由,和 <router-link> 中 to="account/course" 對(duì)應(yīng)。
剛開始做 Vue,這個(gè)問題困擾了很久,特此記錄。
關(guān)于vue.js組件的教程,請(qǐng)大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程、Vue.js前端組件學(xué)習(xí)教程,進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.js設(shè)計(jì)與實(shí)現(xiàn)分支切換與清除學(xué)習(xí)總結(jié)
這篇文章主要為大家介紹了Vue.js設(shè)計(jì)與實(shí)現(xiàn)分支切換與清除學(xué)習(xí)總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
教你如何開發(fā)Vite3插件構(gòu)建Electron開發(fā)環(huán)境
這篇文章主要介紹了如何開發(fā)Vite3插件構(gòu)建Electron開發(fā)環(huán)境,文中給大家提到了如何讓 Vite 加載 Electron 的內(nèi)置模塊和 Node.js 的內(nèi)置模塊,需要的朋友可以參考下2022-11-11
如何利用vue實(shí)現(xiàn)登陸界面及其跳轉(zhuǎn)詳解
在開發(fā)中我們經(jīng)常遇到這樣的需求,需要用戶直接點(diǎn)擊一個(gè)鏈接進(jìn)入到一個(gè)頁面,下面這篇文章主要給大家介紹了關(guān)于如何利用vue實(shí)現(xiàn)登陸界面及其跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04
基于Vue.js實(shí)現(xiàn)一個(gè)完整的登錄功能
在現(xiàn)代Web應(yīng)用中,用戶登錄功能是一個(gè)核心模塊,它不僅涉及到用戶身份驗(yàn)證,還需要處理表單驗(yàn)證、狀態(tài)管理、接口調(diào)用等多個(gè)環(huán)節(jié),本文將基于一個(gè)Vue.js項(xiàng)目中的登錄功能實(shí)現(xiàn),深入解析其背后的技術(shù)細(xì)節(jié),幫助開發(fā)者更好地理解和實(shí)現(xiàn)類似功能,需要的朋友可以參考下2025-02-02
vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理解析
這篇文章主要介紹了vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理,通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
Element-Plus?el-col、el-row快速布局及使用方法
這篇文章主要介紹了Element-Plus?el-col、el-row快速布局及使用方法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12

