vue3和vue2的区别

2022-11-26 0 823

子公司工程项目早已上架,因而有大批的天数北窝,相等于有大批的天数自学,只好是上来慕课网翻阅了呵呵从前学node的这时候买的自学音频,别的是两个前端信息系统,前端是采用node的koa2架构同时实现的,前端是vue+element。想到他们一年前学那个的这时候的敬而远之,到那时的的虽说看不懂的称奇。在那个工程项目里头有许多高阶的小东西,许多具备商业性水准的构架,因而采用的控制技术栈相较较新。

只好我Marcillac,就想著采用现阶段新一代的两套构架,同时实现他们的前台信息系统。这是vue3,坚信vue3在他们前端开集是两个可说。前几日复试有学过vue2,但总体的工程项目实战经验却是有点儿严重不足,只好就早已开始搞vue3。

归纳呵呵我写vue2和vue3的差别吧,间接上标识符:

vue2

<template> <div class=“mian” @click=“handleClick”>{{test}}</div> </template> <script> export default { data(){ return{ test:1111 } }, methods:{ handleClick(){ console.log(66666); } } } </script> <style> .mian{ width: 111px; } </style>

vue3

<template> <div class=”mian” @click=”handleClick”>{{test}}</div> </template> <script> import {ref} from vue export default { setup(){ const test=ref(1121) const handleClick=()=>{ console.log(6666); test.value=66666 } return{ test, handleClick } } } </script> <style> .mian{ width: 111px; } </style>

从上面可以看出,视图层的写法没有改变。改变的是逻辑层的写法。vue2中变量是保存在data中。方法又独立写在methods里头。方法和变量是分开的,而在vue3中不管是方法却是变量都写在setup()中,把逻辑写的更加集中。但要借助ref,ref其实是类似react中的hooks,如果要改变变量中值,也不再采用this来调用赋值了,间接test.value=666,来进行赋值。ref返回的是两个对象,关于ref的详情他们可以去官方文档了解。注意容易遗漏的是,定义的ref必须在setup函数中return才能被利用。以上是我现阶段涉及到的差别,其实本质上差别还是很大的。

接下来看看vue3的生态,采用过vue2开发的人都知道,之所以vue火,大部分是因为他的生态。坚信许多企业的工程项目都会搭载着vue的全家桶,当然做前台信息系统也离不开element-ui,但是vue2和vue3的写法差别较大,因而他们的element-ui也需要采用新一代的版本element-plus,那个版本虽说却是测试的,还没有稳定。看看在vue3中采用element该如何写。

首先他们vue3也需要像vue2一样把element注册到他们的根组件下,标识符如下:

import ElementPlus from element-plus import element-plus/lib/theme-chalk/index.css import { createApp } from vue import { createStore } from vuex import App from ./App.vue const app = createApp(App) app.use(ElementPlus) app.use(router) app.mount(#app)

采用的话,需要在组件中导入ElMessage 那个对象,然后调用那个对象的方法,因为vue3中没有this的指向问题了。

import { ElMessage } from element-plus

ElMessage.success({

message: “注册成功”,

type: “success”,

});

在vue2中其实就this.$message()就有可以同时实现,但在vue3中就多加了导入这一步,相较来说回麻烦一点。

还有是vue-router,在vue2中间接this.$router,那时也要像element一样导入router对象才能调用他相应的方法。

这是我最近摸索出来的差别。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务