vue3 setup语法糖各种语法新特性的使用方法(vue3+vite+pinia)

这篇文章主要介绍了vue3 setup语法糖各种语法新特性的使用(vue3+vite+pinia),本文主要是记录vue3的setup语法糖的各种新语法的使用方法,需要的朋友可以参考下

一、背景

最近工作了比较忙,比较少写文章;最近做的开源项目,由于vue-clivuex要逐渐不维护了,因此需要对技术栈进行升级;目前所使用的最新技术栈是:vue3 + vite + element-plus + axios + pinia + mitt + echarts

其中:

  • vitevue团队最新推出的脚手架,相比vue-cli来说速度更快,依赖更少;
  • element-plus则是适配于vue3viteUI框架;
  • piniavuex的替代版本,它取消了mutations,语法上比原来的vuex更加简洁;
  • mitt主要用来做EventBus的功能,因为vue3取消了this指针,所以很多插件都是需要手动导入的,下文会介绍。

本文主要记录在代码重构过程中对vue3新语法特性的学习使用,并且使用的是setup语法糖的语法特性。

二、vue3语法的使用

2.1. 父子通信props

子组件:

父组件:

// 父组件的使用方法和vue2相同 

2.2. EventBus

注意:需要自行安装mitt

npm i mitt

mian.js文件

// main.js import mitt from 'mitt' app.config.globalProperties.mittBus = new mitt() 

组件中使用

2.3. 计算属性computed

由于vue3中没有this指针,因此使用计算属性需要自己自行导入

2.4. pinia状态管理器的使用

2.4.1. 模块化

在安装pinia后,在目录stores下新建index.js文件,作为模块化的入口文件。
index.js文件

// 引入模块文件 import aside from './aside' import header from './header' import menuState from './menuState' import tags from './tags' export default function stores() { return { aside: aside(), header: header(), menuState: menuState(), tags: tags() } } 

在同目录下新建模块文件,如menuState文件:

// menuState import { defineStore } from "pinia" export default defineStore('menuState', { state() { return { showRightMenu: false, left: 0, top: 0, rightMenuList: [] } }, actions: { changeShowRightMenu(val) { this.showRightMenu = val }, changeLeft(val) { this.left = val }, changeTop(val) { this.top = val }, changeRightMenuList(val) { this.rightMenuList = val } } }) 

2.4.2. 使用方法

pinia的使用方法比较简便,在组件中导入后,模块可以直接引用,也可以使用计算属性使用;同时,actions中的方法也可以直接调用,无需使用以往的mapState等方式。如下所示:

2.5. watch监听器

watch监听器的使用比较简单,并不需要导入,直接使用即可。

2.6. 全局函数/变量注册

细心的读者可能发现了,mitt就是一个全局注册的一个函数;同理,我们在定义一些全局函数或者变量时,也是使用这种方法。

// main.js // 注册element-plus的一个消息提示 import { ElMessage } from 'element-plus' app.config.globalProperties.$message.success = () => { ElMessage({ message: "OK", type: 'success' }) } 

组件中使用:

三、总结

本文主要是记录vue3setup语法糖的各种新语法的使用方法,之后有空再写篇不使用setup语法糖的语法使用。

到此这篇关于vue3 setup语法糖各种语法新特性的使用(vue3+vite+pinia)的文章就介绍到这了,更多相关vue3 setup语法糖内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是vue3 setup语法糖各种语法新特性的使用方法(vue3+vite+pinia)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Vue.js 教程