vue3中defineComponent 的作用

2023-05-16

VUE3中,新增了 defineComponent ,它并没有实现任何的逻辑,只是把接收的 Object 直接返回,它的存在是完全让传入的整个对象获得对应的类型,它的存在就是完全为了服务 TypeScript 而存在的。

我都知道普通的组件就是一个普通的对象,既然是一个普通的对象,那自然就不会获得自动的提示,

import { defineComponent } from 'vue'
 
const component = {
  name: 'Home',
  props:{
    data: String,
  },
  setup // 没有该有的提示,这非常的不友好
}
 
export default component

但是当我们加上 defineComponent() 之后,就完全不一样了,可以获得自动提示,vue2、vue3的自动提示都有

import { defineComponent } from 'vue'

const component = {
  name: 'Home',
  props:{
    data: String,
  },
  setup(){
    // setup 可接受两个参数,一个props,和 context
  }
}

export default component

接下来看看 setup 中的两个参数 props 与 context ,
props指组件传递来的参数,并且ts可以推论出props的类型.props也就是 vue2 中组件中的 props
context 有三个属性 attrs slots emit 分别对应vue2中的 attrs属性、slots插槽、$emit发送事件

import { defineComponent } from 'vue'

const component = {
  name: 'Home',
  props:{
    data: String,
  },
  setup(props, context){
    // props.data
    // context.attrs    context.slots    context.emit 
  }
}

export default component
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3中defineComponent 的作用 的相关文章

  • java版本的c++STL函数之next_permutation()

    相信很多java选手在打比赛的时候会出现手写全排列的时候实现不了字典序最小的下一个排列 xff0c 这里提供一个简简单单的板子 xff0c 欢迎使用 首先创建一个Permutaion的泛型类 span class token keyword

随机推荐

  • springboot定时任务处理(cron表达式)

    自动生成链接 https www bejson com othertools cron
  • List集合和int[]数组实现互转操作

    1 List转int list转int 时需要注意的是 xff0c list里存的是引用数据类型 xff0c 如果是Integer需要拆箱操作 xff0c 即mapToInt i gt i xff0c 不然的话直接toArray 的话jdk
  • docker 容器新建

    先查看ubuntu 镜像版本 xff1a a sudo docker search ubuntu 结果 xff1a wxsc 64 ubuntu usr include x86 64 linux gnu bits sudo docker s
  • APM/PX4将遥控器5通道之后的通道映射到舵机输出

    本文转自模友之吧 xff0c 感谢作者加加菲 xff0c 如有不当之处 xff0c 请联系删帖 xff08 环境 xff1a 飞控pixhawk 标准版 xff0c AC3 2 1固件 xff0c 社区版地面站 xff0c sbus接收机
  • 华为的鸿蒙系统引发嵌入式业界震动?

    笔者跟很多业内人士一样一直以为华为就是搞一个类似安卓的在高性能可移动设备上跑的操作系统 xff0c 没曾想华为甩出下面这张图 又是希望从RTOS到大型操作系统大小通吃 谷歌一开始没想做物联网的 xff0c 首先甩出的是大型操作系统 xff0
  • 王佩丰 Excel 基础24讲 | 学习笔记(全)

    第一讲 xff1a 认识Excel 1 简介 excel能做什么 xff1f 数据存储 数据处理 数据分析 数据呈现 excel界面 补充 xff1a Excel数据分析步骤 提出问题 xff1a 明确自己需要通过数据分析解决什么问题 理解
  • Envoy 中文指南系列:Envoy 介绍

    原文链接 xff1a https fuckcloudnative io envoy handbook docs overview overview 前言 Envoy 是专为大型现代 SOA xff08 面向服务架构 xff09 架构设计的
  • 树莓派最新64位系统安装Pytorch和OpenCV

    树莓派官方最新64位 xff08 aarch64 xff09 系统安装Pytorch和OpenCV 原文地址 一 设置镜像源 armv7l是armhf的衍生 xff0c 而在树莓派中armhf默认是指32位 xff08 我不确定这个说法对不
  • 畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI)

    畅玩树莓派4B xff08 二 xff09 树莓派搭建无线路由器 xff08 支持5GWIFI xff09 一 工具安装二 网卡配置三 DHCP和DNS配置四 配置转发五 配置hostapd 树莓派4B拥有千兆有线网络和5G无线网络 因此本
  • 畅玩树莓派4B(一)树莓派系统安装和SSH连接

    畅玩树莓派4B xff08 一 xff09 树莓派系统安装和SSH连接 一 前言二 系统和工具下载三 系统烧录四 开启SSH五 扫描树莓派IP 连接 一 前言 树莓派4B拥有非常强大的功能 可以配置无线路由器 小型NAS Windows的K
  • OpenDaylight简介和安装

    目录 摘要 OpenDaylight简介 环境 下载 安装 OpenDaylight dlux的安装和启动 总结 参考文档 摘要 SDN是一种新的网络体系结构 xff0c 使用开放的协议提供集中 可编程的控制和网络设备监控 SDN的核心理念
  • jni开发中 接口为什么要冠extern "C"呢

    android studio jni开发默认是C 43 43 语言的 而且还都是静态注册 C 43 43 为了支持函数重载 xff0c 函数在被C 43 43 编译后在符号库中的名字与C语言的不同 假如某个函数的原型为void f int
  • JS 中的类数组对象如何转换为数组?

    类数组对象是什么 xff1f 类数组对象 xff0c 就是含有 length 属性的对象 xff0c 但这个对象不是数组 通常来说还会有 0 xff5e length 1 的属性 xff0c 结构表现上非常像一个数组 const arrli
  • js实现文字跑马灯效果

    lt doctype html gt lt html gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt meta name 61 34 viewport 34 content 61 34
  • vue 有滚动条 点击拖拽滑动自定义指令

    lt div class 61 34 wrap 34 v flowDrag gt directives flowDrag bind el binding vnode oldNode if binding return el onmoused
  • 微信小程序相互跳转如何携带参数

    wx navigateToMiniProgram 要跳转的小程序的appid appId 39 wx1b125bf4cf709150 39 跳转的目标页面 xff0c 参数可以在另外一个小程序的onLoad中通过options接收 path
  • js删除字符串最后一个字符方法总汇

    需求 xff1a 去掉js字符串末尾的标点符号 比如原字符串 xff1a csdn net 目标字符串 xff1a csdn net 解决方案 xff1a 方法一 xff1a str slice 0 str length 1 方法二 xff
  • Google Analytics | 学习笔记

    一 简介 1 什么是GA xff1f 是谷歌开发的一款分析网页流量的工具 xff0c 可以帮助网站解决数据分析与统计的问题 xff0c 并且将这些数据可视化展现报告出来 xff0c 帮助网站商家更好的分析受众 xff0c 流量等 xff0c
  • vscode 新版解决冲突界面 改回老版

    很多更新了vscode小伙伴发现新版的解决冲突界面很不适应 xff0c 无从下手 xff0c 只需要加一个东西就可以改回老版的样式 在setting json 里添加 34 git mergeEditor 34 false
  • vue3中defineComponent 的作用

    VUE3中 xff0c 新增了 defineComponent xff0c 它并没有实现任何的逻辑 xff0c 只是把接收的 Object 直接返回 xff0c 它的存在是完全让传入的整个对象获得对应的类型 xff0c 它的存在就是完全为了