vue3+ts+vite Vue Router(第二回)
1.创建router目录,创建index.ts
// 安装vue router
npm install vue-router --save
2.在views下新建2个文件,一个index.vue,一个about.vue,建好文件之后我们来编写router下的index.ts
import {
createRouter,
createWebHashHistory,
RouteRecordRaw
} from 'vue-router'
const routes:Array<RouteRecordRaw>=[
{
path:'/',
name:'Home',
component:()=>import('../views/index.vue')
},
{
path:'/about',
name:'About',
component:()=>import('../views/about.vue')
}
]
const router = createRouter({
history: createWebHashHistory(), // 路由跳转模式 ,hash模式会带#号 /#/xxx.
routes
})
export default router
知识点补充:
Vue router的三种模式 1.hash模式:使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。地址栏包含/#/ 2.history模式:依赖 HTML5 history API 和服务端配置。这个模式下当URL改变是,页面也不会重新加载 3.abstract模式:Abstract 模式下该模式下的路由管理完全交由 Vue Router 进行控制。URL 会被 Vue Router 处理,不会出现在浏览器的地址栏中。 三种模式的选择: 1. 如果需要支持 IE9 及以下版本浏览器,只能使用 hash 模式。 createWebHashHistory 2. 如果支持 HTML5 history API ,并且服务端配置正确,建议使用 history 模式。 3. abstract 模式一般用于怕客户端 JavaScript 被禁用的环境。 - 如果不需要支持老版本浏览器,可以选择 createWebHistory - 如果后端能正确处理各路由对应的请求,选择 createWebHistory - 如果后端不能处理各路由请求,选择 createWebHashHistory - 如果客户端存在禁用javascript的情况使用createMemoryHistory
3.修改main.ts
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
const app=createApp(App)
app.use(router).mount('#app')
将app.vue里的页面简化,

4.inde.vue 的内容
<template>
<div>
<el-button type="primary" >
<el-icon class="is-loading" >
<i-ep-Search />
</el-icon>
icon的使用
</el-button>
<el-button type="primary" @click="test">
<el-icon class="is-loading" >
<i-ep-Pear />
</el-icon>弹出提示框</el-button>
<el-button type="primary" @click="toAbout" >
<el-icon class="is-loading" >
<i-ep-link />
</el-icon>
路由跳转
</el-button>
</div>
</template>
<script setup lang="ts">
let test = () => {
ElMessage({
message: "还差亿步就好了",
type: "success",
});
}
const router = useRouter()
let toAbout = () => {
router.push({ path: '/about' })
}
</script>
<style scoped>
.read-the-docs {
color: #888;
}
</style>
注意图标的引用方式,i-ep-官网Icon名

这一段很主要,会自动引入所需要的组件。
5.about.vue的内容
<template> <div>盛世的牛码,平凡的医生</div> </template> <script setup lang="ts"> </script>
至此,初浅的实现了路由跳转。
本文来自博客园,作者:大楚打码人,转载请注明原文链接:https://www.cnblogs.com/qh1688/p/17440985.html
浙公网安备 33010602011771号