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

Vue3中的setup

<!-- 这是一个vue3 -->
<template>
    <div class="person">
      <h2>姓名:{{name}}</h2>
      <h2>年龄:{{age}}</h2>
      <button @click="changeName">修改名字</button>
      <button @click="changeAge">年龄+1</button>
      <button @click="showTel">点我查看联系方式</button>
    </div>
  </template>
  
  <script lang="ts">
    import {ref} from 'vue'
    export default {
        name:"Person",
        beforeCreate() {
            console.log("beforeCreate");
        },

        setup(){
            console.log(this);
            console.log("setup"); 
            // 变量定义,使用ref 关键字来定义响应式数据
            let name = ref('张珊');
            let age= ref(18);


            // 函数定义
           function changeName(){
                name.value='李思'
            }
            function changeAge(){
                age.value+=1;
            }
            function showTel(){
                alert("15823645923");
            }

            // 通过return 返回所有可以在template中可以处理的数据
            return { name,age,changeName,changeAge,showTel}

        }
    }
  </script>



<style scoped>
  .person {
    background-color: skyblue;
    box-shadow: 0 0 10px;
    border-radius: 10px;
    padding: 20px;
  }
</style>  

在这里插入图片描述

  • vue3组合式api的入口 .这是vue3中新的配置项 ,可以在setup这个配置项中配置所有想要的东西,如变量 函数 监视器
  • setup这个配置项会优于beforeCreate这个钩子函数,而beforeCreate钩子函数是用来初始化vue实例的,因此setup不会指向vue实例,因此setup中就没有this关键字
  • setup的返回值通常是一个对象,会将所有需要暴露的数据通过自定义的形式返回出去

上述代码可以使用setup语法糖的方式重构,这样做的好处,是可以避免页面中处理的数据过多,需要一个个定义返回值得情形.这两种方式是等价的,一般建议使用setup 语法糖 setup 语法糖(script setup)的方式

<!-- setup 语法糖,可以避免数据多时,需要手动的return. 等价于上面一种写法 -->
<script lang="ts" setup >

import {ref} from 'vue'
 let name = ref('张珊');
 let age= ref(18);


 // 函数定义
 function changeName(){
    name.value='李思'
 }
 function changeAge(){
    age.value+=1;
}
function showTel(){
    alert("15823645923");
}
</script>
http://www.dtcms.com/a/27693.html

相关文章:

  • Linux应用之构建命令行解释器(bash进程)
  • vue3之echarts柱状图-圆锥加自动轮播
  • 使用Termux将安卓手机变成随身AI服务器(page assist连接)
  • Pyrhon函数-装饰器第一部分250219
  • C程序设计(第5版)——谭浩强(2)
  • 构建简单RAG代码实现
  • java常见面试场景题
  • nodejs各版本下载地址 —— 筑梦之路
  • 【Java】泛型与集合篇 —— 泛型
  • virt-io 如何运行在 kvm windows 虚拟机上
  • rust学习三、基本类型
  • Spring框架基本使用(Maven详解)
  • 【二分搜索 C/C++】洛谷 P1873 EKO / 砍树
  • SAM C++ TensorRT(实时图像分割)
  • 【有啥问啥】DeepSeek 技术原理详解
  • vue取消全选功能按钮注意事项
  • java机器学习计算指标动态阈值
  • Jackson使用
  • 点击unity资源文件自动展开左侧的文件路径
  • StableDiffusion学习笔记——4、模型下载和学习
  • 算法系列之搜索算法-广度优先搜索BFS
  • 提示工程(Prompt Engineering)的进阶策略与实践指南
  • 关于uniApp的面试题及其答案解析
  • 【Python】yield函数
  • 遥感与GIS在滑坡、泥石流风险普查中的实践技术应用
  • 【Linux AnolisOS】配置Linux固定ip地址。然后在Windows上连接使用linux中docker容器里的redis和nacos。
  • acm培训 part 7
  • 写轮眼按钮特效:打造炫酷网页按钮
  • 【期末复习】微信小程序复习大纲
  • React useState 和 useEffect 使用坑点注意总结