首页 > 其他分享 >前端路由(vue2 + vue3 + react)

前端路由(vue2 + vue3 + react)

时间:2023-03-08 13:22:35浏览次数:41  
标签:vue VueRouter import react vue2 vue3 router path 路由

前端路由的设置:
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 }
  ]
  }
]

标签:vue,VueRouter,import,react,vue2,vue3,router,path,路由
From: https://www.cnblogs.com/fengdu--/p/17178467.html

相关文章

  • Vue3 使用 vant中的swipe,添加左右箭头切换轮播
    vant中的 swipe 是带有左右箭头切换轮播方法的,只不过文档中没有相关的案例。  我这边使用的是vue3ts写的这个功能。页面部分   定义一个方法,ref="swi......
  • vue3:setup语法糖使用教程
    setup语法糖简介直接在script标签中添加setup属性就可以直接使用setup语法糖了。使用setup语法糖后,不用写setup函数;组件只需要引入不需要注册;属性和方法也不需要再返回,可......
  • vue2与vue3不同点:opitons api 与cmposition api
    vue2:optionsapi采用的是命令式编程,而vue3组合式api采用的是函数式编程,两者存在很大的差异,vue3更灵活,难度也更大。script语法糖,vue3可以通过导入函数的方式来定义响应......
  • v-model 在vu2和vue3的使用
    首先看到v-model,大多数小伙伴都会想到“响应式”、“双向绑定”,v-model确实是实现了双向绑定数据,用过vue的人都比较熟悉。v-model是Vue内置的指令,vue2和vue3中的v-mod......
  • react业务开发笔记1
    自定义table空数据import{ConfigProvider,Table,}from'antd'//定义空数据展示constrenderEmpty=()=>(<EmptyimageStyle={{he......
  • 从0搭建Vue3组件库(五): 如何使用Vite打包组件库
    本篇文章将介绍如何使用vite打包我们的组件库,同时告诉大家如何使用插件让打包后的文件自动生成声明文件(*.d.ts)打包配置vite专门提供了库模式的打包方式,配置其实非......
  • vite+vue3+ts 如何配置环境 以及如何配置开发环境和生产环境变量
    如何在vite项目中配置环境及环境变量首先需要创建环境文件,这里我只创建了两个环境:开发环境和生产环境;在根目录下创建.env.development文件,此文件为开发环境,......
  • 完整手写react第五天
    如何触发更新常见的触发更新的方式:ReactDOM.createRoot().render(或老版的ReactDOM.render)this.setStateuseState的dispatch方法接下来的工作包括:实现mount时调用......
  • 完整手写react第四天
    实现Reconciler架构ReactElement如果作为核心模块操作的数据结构,存在的问题:无法表达节点之间的关系字段有限,不好拓展(比如:无法表达状态)所以,需要一种新的数据结构,他的......
  • 在vue3中使用tesseract.js实现OCR实现文字识别(识别图片中的文字)
    tesseract官网地址:https://tesseract.projectnaptha.com/github:https://github.com/naptha/tesseract.js#tesseractjsnpm安装依赖:npminstalltesseract.js页面引入......