- A+
所属分类:Web前端
前端路由的设置:
Vue2路由(vue-router3)
安装插件 npm i vue-router@3
router/index.js文件设置
import Vue from "vue"; import VueRouter from "vue-router"; Vue.use(VueRouter); //创建路由器实例 const router = new VueRouter({ mode: 'hash', routes: [{}] }) export default router
main.js文件设置
import router from “./router ” new Vue({ Render:h=>h(App), router }).$mount(“#app”)
组件中的应用
页面显示
<router-view></router-view>
路由跳转:
<router-link to=”/home”></router-link>
或者使用编程式导航,this.$route.push/this.$route.replace
两者区别是,前者有history,后者没有。
编程式导航携带可以携带query或者params参数
Vue3路由(vue-router4)
安装插件 npm i vue-router
router/index.ts文件设置
// 引入创建路由对象的函数 import { createRouter,createWebHashHistory,createWebHistory } from "vue-router"; let router = createRouter({ history:createWebHashHistory(), routes:[{ path:"/register", component:()=>import("../pages/register/Register.vue") },{ path:"/login", component:()=>import("../pages/login/Login.vue") }] }) export default router
main.ts文件设置
import router from './router'; app.use(router)
vue3路由跳转:
setup函数中没有this,vue2的方法不可用,使用useRouter函数
// 获取路由对象的函数 import { useRouter } from "vue-router" let $router = useRouter() const gohome = ()=>{ $router.push({ path:"/home" })
路由元信息:
meta可以将任意信息附加到路由上,如过渡名称、谁可以访问路由等。这些事情可以通过接收属性对象的meta属性来实现。
const routes = [ { path: '/posts', component: PostsLayout, // 只有经过身份验证的用户才能创建帖子 meta: { requiresAuth: true } ] } ]