Vue - 驼峰和短横线分割命名注意事项

news2025/6/3 23:16:40

Vue - 驼峰和短横线分割命名注意事项

  • 一. 驼峰和短横线分割命名注意事项
    • 1.1 组件注册命名
    • 1.2 父子组件数据传递时命名
    • 1.3 父子组件函数传递

一. 驼峰和短横线分割命名注意事项

我们一般定义组件的方式有两种:

  • 短横线分隔命名:kebab-case
  • 首字母大写命名:PascalCase

1.1 组件注册命名

例如,我写一个简单的子组件。

<template>
  <div class="border">
    <h2>我是子组件</h2>
  </div>
</template>

<script setup>

</script>
<style scoped>
.border {
  border: 1px solid;
  width: 400px;
}
</style>

注册的时候采用PascalCase命名:

createApp(App)
    .component('MyComponent', MyComponent)
    .mount('#app')

使用的时候:

<template>
  <div class="border">
    <h1 >我是父组件</h1>
    <my-component />
    <!-- <MyComponent /> -->
    <!-- <myComponent /> -->
  </div>
</template>

<style scoped>
.border {
  border: 1px solid;
  width: 400px;
  height: 200px;
}
</style>

结果如下:
在这里插入图片描述

自定义的组件在使用上,命名的规则如下:

  • 注册的时候:使用了PascalCase命名。
  • 使用的时候:可以使用PascalCase命名(首字母不区分大小写)或者kebab-case命名(每个单词的首字母不区分大小写)。

一般编码的时候,习惯这样:命名的时候采取PascalCase命名法,使用的时候采取kebab-case法(每个单词的首字母小写)。

1.2 父子组件数据传递时命名

父组件在给子组件传递变量的时候,如果变量名称采用kebab-case法,那么子组件在接收的时候应该写驼峰命名法。

例如,我再父组件中这么传参:

<MyComponent :user-name="name"/>

子组件的接收:驼峰命名法。

<template>
  <div class="border">
    <h2>我是子组件</h2>
    <div>接收来自父组件传入的参数:{{ props.userName }}</div>
  </div>
</template>

<script setup lang="ts">
import { computed, defineProps, withDefaults } from "vue";

interface Props {
  // 记得使用驼峰命名法
  userName: string;
}
const props = withDefaults(defineProps<Props>(), {
  userName: "",
});

</script>
<style scoped>
.border {
  border: 1px solid;
  width: 400px;
}
</style>

效果如下:
在这里插入图片描述

1.3 父子组件函数传递

父组件在传递给子组件的时候,命名上我测试下来没有什么特殊的要求。先说下传递的命名上:

父组件传递:

<MyComponent :user-name="name" @sayHello="sayHello"/>

const sayHello =  ()=>{
  console.log('Hello')
}

子组件的接收上:

<template>
  <div class="border">
    <h2>我是子组件</h2>
    <div>接收来自父组件传入的参数:{{ props.userName }}</div>
    <a @click="hello">点击</a>
    <br>
    <a @click="hello2">点击2</a>
  </div>
</template>

<script setup lang="ts">
import { defineProps, withDefaults } from "vue";

interface Props {
  userName: string;
}
const props = withDefaults(defineProps<Props>(), {
  userName: "",
});

const emit = defineEmits(["say-hello", "sayHello"]);
const hello = () => {
  emit("say-hello");
};
const hello2 = () => {
  emit("sayHello");
};
</script>
<style scoped>
.border {
  border: 1px solid;
  width: 400px;
}
</style>

结果如下:无论是使用下划线分割还是原名,都可以正常接收。
在这里插入图片描述
经过测试,父组件在传函数的时候,使用kebab-case法,和上述案例一个效果。

因此我们就这么约定吧:

  • 父组件传递函数的时候,就原名传入即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【实际开发17】- 静态测试

静态测试技术&#xff1a;不运行被测试程序&#xff0c;对代码通过检查、阅读进行分析。 目录 1. 静态测试 1. 静态测试三步曲 : 走查 / 审查 / 评审 2. 编码的标准和规范 3. 代码评审 1. 代码走查 ( Walk Through ) 2. 正式会议审查 ( Inspection ) 3. 评审 ( Review )…

QThread(创建线程)

在Qt 中QThread 类提供了于平台无关的线程&#xff0c;一个QThread代表一个在应用程序中可以独立控制的线程&#xff0c;可以和进程中的其他线程分享数据。 QThread 对象管理程序中的一个控制线程。QThreads 在 run&#xff08;&#xff09; 中开始执行。默认情况下&#xff0…

C语言进阶——自定义类型:结构体

&#x1f307;个人主页&#xff1a;_麦麦_ &#x1f4da;今日名言&#xff1a;生活不可能像你想象的那么好&#xff0c;也不会像你想象的那么糟。——莫泊桑《羊脂球》 目录 一、前言 二、正文 1结构体 1.1结构体的基础知识 1.2结构的声明 1.3特殊的声明 1.4结构体变量的…

若依框架---数据转树状层级

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

Node=>Express路由 学习2

1.概念 Express路由指的是客户端的请求与服务器处理函数之间的映射关系 Express路由由三部分组成 请求类型 请求URL地址 处理函数 app.METHOD ( PATH , HANDLER )根据定义的先后顺序进行匹配 请求类型和请求的URl同时匹配成功才会调用相应的处理函数 简单用法 2.模块化路由 为了…

《里奥哈酒友记》 | 里奥哈的历史—品鉴瑞格尔侯爵葡萄酒

2022年末&#xff0c;里奥哈大使组合怪怪和思羽完成了里奥哈线上活动两大“壮举”&#xff0c;10期《里奥哈酒友记》系列视频和40集《美酒之乡——里奥哈》有声专辑&#xff0c;吸引了许多葡萄酒资深爱好者的目光&#xff0c;也成功地让更多的人了解到里奥哈。由里奥哈推广大使…

粘包拆包问题

什么是粘包/拆包 TCP是个“流”式的协议&#xff0c;会根据TCP缓冲区的实际情况进行包的划分。在业务层面认为一个完整的包&#xff0c;可能会被TCP拆分成多个小包进行发送&#xff0c;也可能把多个小的包封装成一个大的数据包进行发送 粘包拆包问题解决方法 由于TCP协议底层…

电脑分盘怎么分?分盘详细教程来了,图文教学

电脑作为小伙伴日常生活使用的工具&#xff0c;很多事情都需要使用电脑来进行处理。虽然小伙伴使用电脑比较多&#xff0c;但是还是有不少的小伙伴不知道电脑分盘怎么分&#xff1f;其实电脑分盘很简单&#xff0c;下面小编就以图文教学的方式&#xff0c;详细的向小伙伴介绍电…

Python:迷宫

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 X 星球的一处迷宫游乐场建在某个小山坡上。它是由 1010 相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立&#xff0…

【Linux系统编程】01:命令行解析

命令行解析 1.getopt调用介绍 头文件&#xff1a;<unistd.h> 原型&#xff1a;int getopt(int argc, char * const argv[], const char *optstring); argc、argv&#xff1a;由main函数的参数直接传递而来optstring&#xff1a;一个包含所有合法可选字符组成的字符串 …

超高精度PID调节器的特殊功能(3)——变送输出(转发)功能及其应用

摘要&#xff1a;变送输出是高级PID控制器的一项重要扩展功能&#xff0c;可用于多区控制、串级控制、比值控制和差值控制以及数据采集及记录。为展示变送输出功能的强大作用&#xff0c;本文主要针对超高精度VPC 2021系列PID控制器&#xff0c;介绍了变送输出的具体功能、参数…

【FPGA】Verilog:组合电路 | 3—8译码器 | 编码器 | 74LS148

前言&#xff1a;本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例&#xff1a;编码/译码器的应用 ​ 功能特性&#xff1a; 采用 Xilinx Artix-7 XC7A35T芯片 配置方式&#xff1a;USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器&…

部门新来了个软件测试工程师,看着一副毛头小子的样儿,哪想到是新一代卷王...

内卷&#xff0c;是现在热度非常高的一个词汇&#xff0c;随着热度不断攀升&#xff0c;隐隐到了“万物皆可卷”的程度。 在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不…

【精彩点评】正确理解区块链能源消耗的内涵以及对绿色区块链的探索

发表时间&#xff1a;2022年4月13日 信息来源&#xff1a;bsvblockchain.org 为了理解区块链技术的工作原理并确定如何更好地对其加以利用&#xff0c;就区块链技术提出疑问是不可避免的。也许你正在被区块链的能源效率这个问题所困扰。 经常有人说&#xff0c;一些区块链网络…

Spring MVC 之获取参数(对象、JSON格式数据、URL地址参数、文件、Cookie)

文章目录1. 获取单个参数2. 获取多个参数3. 获取对象4. 后端参数重命名 RequestParam5. 接收 JSON 格式的数据 RequestBody6. 从 URL 地址中获取参数 PathVariable7. 上传文件 RequestPart8. 获取Cookie (CookieValue)/Session/header8.1 获取 Request 和 Response 对象8.2 获取…

【GD32F427开发板试用】SysTick定时器的ms中断,us计时

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;远小刘 1、系统滴答定时器 参考资料《Cortex M3与M4权威指南.pdf》中的9.5 The SysTick timer小节&#xff0c;里面详细讲解了 1、为什么要用…

一分钟教会使用ChatGPT,保姆级ChatGPT教程

最近ChatGPT大火&#xff01;微软退出首款ChatGPT搜索引擎&#xff0c;阿里等国内巨头也纷纷爆出自家产品&#xff0c;一夜之间&#xff0c;全球最大的科技公司仿佛都回到了自己年轻时的样子&#xff01; 然而&#xff0c;ChatGPT这么火&#xff0c;这么好玩的东西&#xff0c…

Knowledgeowl VS Baklib:你需要知道的一切!

KnowledgeOwl 和 Baklib都是知识库软件的示例。您可以使用每个平台为用户创建自己的知识库和托管文档。每个平台都允许您从同一帐户创建多个知识库&#xff0c;并且可以为用户提供内部和外部知识库。什么是知识库&#xff1f;知识库是一个集中的信息存储库&#xff0c;旨在为无…

Koa2-项目中的基本应用

文章目录安装配置koa2配置nodemon,热更新我们的项目中间件什么是中间件&#x1f47b;洋葱模型路由中间件连接数据库 - mysql后端允许跨域处理请求getpostputdelete后续会继续更新安装配置koa2 &#x1f47b;安装 koa2 npm i koa2 -s&#x1f47b;在package.json 配置,当然是在…

用LCR测试仪测试无线充电系统中的线圈

宽阻抗范围用来表征电感和质量因数– 高精度 DCR 测量– 制造环节快速测量– 大量夹具可供选择智能终端上不断增加新功能&#xff0c;电池寿命成为用户最头痛的问题之一。相比便携式电源和电缆供电而言&#xff0c;无线充电技术因其方便性和多功能性获得了很大的关注&#xff0…