赞
踩
vue-router
是 vue.js
官方给出的路由解决方案,能够轻松的管理 SPA
项目中组件的切换;yarn add vue-router@4
;src
文件夹中创建一个 router
文件夹,在其中创建 index.js
模块;createRouter()
创建路由,并暴露出去;main.js
文件中初始化路由模块 app.use(router)
router/index.js
:import { createRouter } from 'vue-router'
// TODO 创建路由
const router = createRouter({
// 相关配置
})
export default router
main.js
:import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 引入路由模块
let app = createApp(App)
app.use(router) // 初始化路由插件
app.mount('#app')
hsitory
路由模式可采用:createWebHashHistory()
:hash
模式:
URL
之前使用了一个哈希字符#
;URL
从未被发送到服务器,所以它不需要在服务器层面上进行任何特殊处理;createWebHistory()
: history
模式,推荐使用;
URL
会看起来很正常(URL
中不带#
号);URL
,就会得到一个404
错误,要解决这个问题,你需要做的就是在你的服务器上添加一个简单的回退路由,如果URL
不匹配任何静态资源,它应提供与你的应用程序中的index.html
相同的页面;history
路由模式:import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
// TODO 创建路由
const router = createRouter({
// TODO 规定路由模式
history: createWebHistory(),
})
export default router
hash
路由模式:import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
// TODO 创建路由
const router = createRouter({
// TODO 规定路由模式
history: createWebHashHistory(),
})
export default router
routes
配置路由规则:
path
:路由匹配的URL
;name
:当路由指向此页面时显示的名字;component
:路由调用这个页面时加载的组件;HomeVue.vue
:<script setup> import { ref, reactive, computed, onMounted } from 'vue' onMounted(() => {}); </script> <template> <div class="home"> 网站首页界面 </div> </template> <style scoped> .home { color: #fff; font-size: 24px; background-color: #ff0040; } </style>
BlogHomeVue.vue
:<script setup> import { ref, reactive, computed, onMounted } from 'vue' onMounted(() => {}); </script> <template> <div class="blog-home"> 博客首页界面 </div> </template> <style scoped> .blog-home { color: #fff; font-size: 24px; background-color: chartreuse; } </style>
import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' // TODO 创建路由规则数组 const routes = [ { path: '/home', name: 'home', component: () => import('@/views/HomeVue.vue') }, { path: '/blog', name: 'blog', component: () => import('@/views/BlogHomeVue.vue') } ] // TODO 创建路由 const router = createRouter({ // TODO 规定路由模式 history: createWebHistory(), routes }) export default router
<router-link></router-link>
:路由链接,to
属性则为点击此元素,需要切换的路由地址;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。