Vue3:使用setup实现组合式开发

一、情景说明

首先,我们应该知道,Vue3中,可以用Vue2的语法,进行配置式开发。

在这里,我们用Vue3的新语法,实现组合式开发

二、案例

1、组件中使用setup代替Vue2中的data、methodsvc配置项

关键配置:script 标签中的 setup

html 复制代码
<script lang="ts" setup name="Person">
    // 数据,原来是写在data中的,此时的name、age、tel都不是响应式的数据
    let name = '张三'
    let age = 18
    let tel = '13888888888'
    let address = '北京昌平区宏福苑·宏福科技园'

    // 方法
    function changeName() {
        name = 'zhang-san' //注意:这样修改name,页面是没有变化的
        console.log(name) //name确实改了,但name不是响应式的
    }
    function changeAge() {
        age += 1 //注意:这样修改age,页面是没有变化的
        console.log(age) //age确实改了,但age不是响应式的
    }
    function showTel() {
        alert(tel)
    }
</script>

2、组件名简化

以往在Vue2中,组件名是写在vc实例的name配置项的

这里,用vite-plugin-vue-setup-extend插件,在Vue3中直接去掉vc实例的配置编写工作

安装插件:

bash 复制代码
npm i vite-plugin-vue-setup-extend

使用插件:
vite.config.ts配置文件中

关键配置:
import VueSetupExtend from 'vite-plugin-vue-setup-extend'
VueSetupExtend()

javascript 复制代码
import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import VueSetupExtend from 'vite-plugin-vue-setup-extend'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    VueSetupExtend()
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

组件名的新写法∶

直接在配置了setupscript标签中,配置name="Person"

经过以上配置,我们,就可以在配置了setup的script标签中,愉快的写Vue3的代码了!

注意∶
Vue3中的setup区域,不能使用this!!!

相关推荐
To_OC5 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
To_OC5 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
vipbic6 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy6 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志6 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble7 小时前
c端系统,其实更像一个信息展示平台
前端
你怎么知道我是队长8 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
李姆斯8 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜9 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司9 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能