当前位置: 首页 > news >正文

网站界面设计描述自媒体app下载

网站界面设计描述,自媒体app下载,网站开发的需要的技术人员,wordpress改手机布局Vue 2 和 Vue 3 在路由封装方面有一些区别,主要体现在 Vue Router 版本的升级(Vue Router 3 -> Vue Router 4)上。下面我们来对比一下 Vue 2 和 Vue 3 在路由封装上的主要区别,并提供相应的代码示例。 1. Vue 2 路由封装&#…

Vue 2 和 Vue 3 在路由封装方面有一些区别,主要体现在 Vue Router 版本的升级(Vue Router 3 -> Vue Router 4)上。下面我们来对比一下 Vue 2 和 Vue 3 在路由封装上的主要区别,并提供相应的代码示例。


1. Vue 2 路由封装(基于 Vue Router 3)

Vue 2 使用 Vue.use(VueRouter) 注册路由,并且 new VueRouter({}) 创建路由实例。

安装 Vue Router 3

npm install vue-router@3

router/index.js(Vue 2 版)

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "@/views/Home.vue";
import About from "@/views/About.vue";Vue.use(VueRouter);const routes = [{path: "/",name: "Home",component: Home,},{path: "/about",name: "About",component: About,},
];const router = new VueRouter({mode: "history",base: process.env.BASE_URL,routes,
});export default router;

main.js(Vue 2 版)

import Vue from "vue";
import App from "./App.vue";
import router from "./router";Vue.config.productionTip = false;new Vue({router, // 挂载路由render: (h) => h(App),
}).$mount("#app");

2. Vue 3 路由封装(基于 Vue Router 4)

Vue 3 需要使用 createRoutercreateWebHistory 创建路由,并且 app.use(router) 挂载。

安装 Vue Router 4

npm install vue-router@4

router/index.js(Vue 3 版)

import { createRouter, createWebHistory } from "vue-router";
import Home from "@/views/Home.vue";
import About from "@/views/About.vue";const routes = [{path: "/",name: "Home",component: Home,},{path: "/about",name: "About",component: About,},
];const router = createRouter({history: createWebHistory(),routes,
});export default router;

main.js(Vue 3 版)

import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";const app = createApp(App);app.use(router); // 挂载路由
app.mount("#app");

3. Vue 2 和 Vue 3 路由封装的主要区别

对比项Vue 2 (Vue Router 3)Vue 3 (Vue Router 4)
路由注册Vue.use(VueRouter)createRouter() + app.use(router)
路由实例创建new VueRouter({})createRouter({})
路由模式mode: 'history' / mode: 'hash'history: createWebHistory() / createWebHashHistory()
router.beforeEach直接使用 router.beforeEach直接使用 router.beforeEach
this.$router组件内部可用组件内部可用
this.$route组件内部可用组件内部可用
router.push()this.$router.push('/about')this.$router.push('/about')

4. 路由守卫封装

Vue 2 全局前置守卫

router.beforeEach((to, from, next) => {if (to.meta.requiresAuth && !isAuthenticated()) {next("/login");} else {next();}
});

Vue 3 全局前置守卫(写法一致)

router.beforeEach((to, from, next) => {if (to.meta.requiresAuth && !isAuthenticated()) {next("/login");} else {next();}
});

5. 动态路由注册

Vue 2 添加动态路由

router.addRoutes([{path: "/dynamic",name: "Dynamic",component: () => import("@/views/Dynamic.vue"),},
]);

Vue 3 添加动态路由(不同)

router.addRoute({path: "/dynamic",name: "Dynamic",component: () => import("@/views/Dynamic.vue"),
});

6. 路由懒加载

Vue 2 和 Vue 3 的路由懒加载写法基本相同:

const routes = [{path: "/",name: "Home",component: () => import("@/views/Home.vue"),},
];

7. setup 中使用路由(Vue 3 专属)

Vue 3 组合式 API 使用 useRouteruseRoute 访问路由:

import { useRouter, useRoute } from "vue-router";
import { onMounted } from "vue";export default {setup() {const router = useRouter();const route = useRoute();onMounted(() => {console.log("当前路径:", route.path);});const goToHome = () => {router.push("/");};return { goToHome };},
};

8. 结论

  • Vue 3 需要使用 createRouter,不再使用 Vue.use(VueRouter)
  • Vue 3 需要 app.use(router) 挂载,而 Vue 2 在 new Vue({ router }) 中挂载。
  • Vue 3 组合式 API 可以用 useRouteruseRoute 获取路由信息,Vue 2 仍使用 this.$routerthis.$route
  • addRoutes 改为 addRoute,但功能类似。

总体来说,Vue 3 使路由 API 变得更加模块化,适配了 setup 语法,但大多数核心概念和 Vue 2 保持一致。

你是要封装 Vue 3 版本的路由吗?还是希望对 Vue 2 的封装进行优化?

http://www.yayakq.cn/news/480849/

相关文章:

  • 做网站用什么字体最明显企业把网站关闭原因
  • 机械网站优化万网是什么网站
  • 给我看高清的视频在线观看甘肃新站优化
  • 生鲜电商网站建设与管理合肥 网站建设
  • wap网站制作视频教程网站运维合同
  • 自己做的网站源码如何安装微信商城和微网站
  • 做购物网站 营业范围是什么文化传播网站模板
  • 做房产抵押网站需要什么手续费目前常用的搜索引擎有哪些
  • 杭州低价做网站找工作室的网站
  • 个人网站效果软件网站建设公司
  • 过期域名查询网站宝塔建站工具
  • 视频网站开发需求分析重庆市建筑一体化平台
  • 太原网站优化常识局机关网站建设
  • 网站推广维护网站建设项目招标文件
  • 杨中市网站建设做网站 流量怎么抓钱
  • 铁岭房地产网站建设如何在百度推广自己的产品
  • 网站建设找嘉艺网络白云手机网站建设
  • 江门网站制作 华企立方移动端网站如何做导出功能
  • 做模块高考题的网站游戏代理是怎么赚钱的如何代理游戏
  • 网站前端培训playyo wordpress
  • 东莞教育平台网站建设网站建设电话销售工作总结
  • 长沙房地产公司有哪些seo关键词优化最多可以添加几个词
  • 废品回收网站怎么做网站优化网站建设人员招聘
  • 网站建设求职要求黔东南购物网站开发设计
  • 侗族网站建设本科自考最快多久拿证
  • 做网站编程时容易遇到的问题做国外有那些网站比较好的
  • 企业网站建设和运营建设门户网站人均ip1000需要多大数据库
  • 网站分析报告范文2000wordpress数据库填写
  • 做h5比较好的网站简述网站建设方案类型
  • 郑州建设银行网站上海公司招聘信息