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!!!

相关推荐
李明卫杭州35 分钟前
React 复合事件系统对比解析
前端·javascript·react.js
葡萄城技术团队1 小时前
SpreadJS V19.2 新特性揭秘:FILTERXML 函数
前端
行者全栈架构师1 小时前
Spring Boot 接入 MaxKey 单点登录:6 个内部系统,一次登录全通行
java·vue.js·后端
袋鼠云数栈UED团队2 小时前
AI Coding 方法论分析:同一个需求 SpecKit 、 Superpowers、 MattpocockSkills 不同设计
前端·aigc·ai编程
掰头战士2 小时前
Prompt Cache,如果agent全靠LLM方做隐式缓存实在不够用。
前端·llm·agent
万敏2 小时前
Vue3 全栈实战第九周:Node.js + Express 后端从零搭建实战记录
vue.js·node.js·全栈
LEE2 小时前
前端转型全栈 01:数据建模,前端最大的盲区
前端·javascript·后端
货拉拉技术2 小时前
个人提效,攒不成组织提效:货拉拉 AI Coding 落地实践
前端
雪芽蓝域zzs2 小时前
第四十七节:驾驶舱大屏 ECharts 图表集成
前端·javascript·vue.js
Software攻城狮2 小时前
【React 学习方向(项目上手注意点)】
前端