1、创建方式
4.x用法
createRouter
用来创建router对象
import { createRouter } from "vue-router"
const router = createRouter({options
})3.x用法import VueRouter from "vue-router"'
const router = new VueRouter({
// options
......
})
2、路由模式
4.x用法
createWebHashHistory (hash)
createWebHashHistory (history)import {
createRouter,
createWebHashHistory,
createWebHashHistory
} from 'vue-router'
const router = createRouter({
history:createWebHashHistory() // createWebHashHistory()
})3.x用法
const router = new VueRouter({
mode: 'hash' // 'history'
})3、重定向
写法有所改变
4.x的写法
{
path: '/:pathMatch(.*)*', // 需要使用正则去匹配
redirect: Home,
}3.x的写法
{
path: '*',redirect: Home
}4、挂载方式
因为vue3的composition api,vue-router的挂载方式以插件来挂载4.x的用法
import { createApp } from 'vue'
import router from './router.js'
import App from './App.vue'
createApp(App).use(router).mount('#app');3.x的用法,以属性的方式进行挂载import router from './router.js'
new Vue({
router
})
5、Router及Vuex组件中的使用
因为setup中不能访 this,所以提供两个api来获取 router 和 route , useRouter() 和 useRoute()
4.x的用法import { useRouter,useRoute } from "vue-router"
export default({
setup(){
const router = useRouter();
const route = useRoute();
const linkToHome = () => {
router.push({path:'/'})
}
return{
linkToHome
}
}
})3.x的用法
export default({
methods:{
linkToHome(){
this.$router.push({ path:'/' })
}
}
})6、导航守卫
由于vue3 composition api的原因,beforeRouteUpdate 和 beforeRouteLeave被替换为 onBeforeRouteUpdate 和 onBeforeRouteLeave网友回复
如何用html写出网页滚动视频播放卡片视觉差异效果的代码?
程序员如何低成本搭建代理进行科学上网学习技术?
threejs如何做个三维搭积木的游戏?
three如何实现标记多个起始路过地点位置后选择旅行工具(飞机汽车高铁等),最后三维模拟行驶动画导出mp4?
ai实时驱动的3d数字人可视频聊天的开源技术有吗
swoole+phpfpm如何实现不同域名指向不同目录的多租户模式?
如何用go替换nginx实现请求phpfpm解析运行php脚本?
有没有浏览器离线运行进行各种文档、图片、视频格式转换的开源工具?
如何使用go语言搭建一个web防火墙?
linux如何检测特定网络协议比如http协议中报文是否包含特点关键词并阻止返回给客户?


