Vue3特性概览


介绍

一、组件命名

官方建议使用大驼峰命名法来注册组件,原因如下:

  1. 驼峰命名是合法的js标识符,导入、注册组件会更简单,IEDE会自动完成
  2. 在setup语法糖中不用注册组件,直接导入使用即可,Vue组件比原生HTML元素更醒目

举个栗子🌰

<template>
      <Menu />
</template>

<script setup lang='ts'>
import Menu from "@/components/layout/menu/index.vue";
</script>

二、属性定义

最好采用具体的定义方式:

<script setup lang='ts'>
const props = defineProps({
   
    name:{
   
        type:string,
        require:true
    }
})
console.log(props.name)
</script>

三、事件定义

自定义事件的名称会被自动做转换,通常使用驼峰做事件名,监听时需要转换为肉串方式a-b

<!-- MyComponet组件-->
<button @click="$emit('someEvent')">点击我触发事件</button>
<!-- 引入MyComponet组件-->
<MyComponet @some-event="callback">

script setup中定义

<script setup lang='ts'>
const emit = defimeEmits(['someEvent'])
emit('someEvent')
</script>

四、透传特性

在vue3中,那些没有在组件props和emits中声明的特性或事件监听器称为透传特性,以前叫非属性特性,比如class,styleid特性。当组件只有单根时,透传特性自动被添加到根元素上作为其特性
例如:

<button class="large">点击</button>

若不想自动继承属性,可以使用inheritAttrs:false禁止

访问透传特性:

<script setup lang='ts'>
import {
   useAttrs} from 'vue'

const attrs = useAttrs()
</script>

五、插槽

如果要传递模板内容给子组件,我们使用插槽。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值