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

西宁专业网站建设广东网络推广运营

西宁专业网站建设,广东网络推广运营,诸几建设银行网站,wordpress 开通微信制服目录 0.前言 驼峰和短横线分割命名注意事项 组件注册命名 父子组件数据传递时命名 父子组件函数传递 0.前言 Vue驼峰命名法指的是将变量以驼峰形式命名,例如 userName、userId 等,而短横线分隔符法则指的是用短横线分隔变量名,例如 user…

目录

0.前言

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

组件注册命名

父子组件数据传递时命名

父子组件函数传递


0.前言

        Vue驼峰命名法指的是将变量以驼峰形式命名,例如 userName、userId 等,而短横线分隔符法则指的是用短横线分隔变量名,例如 user_name、user_id 等。

        两种命名方式在实际应用中都有其优势和缺点,但是它们的主要区别在于可读性和可维护性。Vue使用驼峰命名法有助于提高变量的可读性,因为驼峰命名法可以更好地表示变量的意思,但是这也可能对于像JavaScript这样的动态语言带来问题,因为它可能会引发一些预期以外的问题。而用短横线分隔符法来命名变量,几乎可以避免上述问题,并且它更具可维护性,但是它往往不具可读性。

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

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

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

组件注册命名

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

<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法(每个单词的首字母小写)。

父子组件数据传递时命名

父组件在给子组件传递变量的时候,如果变量名称采用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>

效果如下:

 

父子组件函数传递

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

父组件传递:

 

<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.hrbkazy.com/news/37418.html

相关文章:

  • 做网站的时候会用 鸟瞰图吗深圳网络推广代运营
  • 哈尔滨专业网站建设公司搜索优化指的是什么
  • 下城区做网站什么时候友情链接
  • 寿宁县建设局网站360推广登陆
  • 少儿编程自学网站百度爱采购怎样入驻
  • 做网站用什么技术好廊坊今日头条新闻
  • 律师事务所网站设计竞价推广是什么意思
  • 网站为什么要备案关键词app
  • 古云网站建设刷网站百度关键词软件
  • 博客网站做啥好网络整合营销策划书
  • 北京鑫旺路桥建设有限公司网站网站优化是做什么的
  • 网站主机推荐最新资讯热点
  • 株洲网络营销推广池州网站seo
  • 企业官网图片seo推广方案
  • 一个简单的动态页面网站需要数据库吗最近一周新闻热点回顾
  • 之梦英语版网站怎么做手机网站百度关键词排名查询
  • 有哪些做包装盒的网站常见的网络营销方式有哪几种
  • 网站建设维护培训网络营销策划
  • 网站访客qq系统小说网站排名前十
  • 网站开发项目进度表文案代写平台
  • app网站模板汕头自动seo
  • 什么网站有教做详情页网站页面
  • 南京网站优化推广杭州seo推广公司
  • 做知乎网站要多少钱关键词优化如何做
  • 网站登录不上怎么回事百度快照功能
  • 网站建设和app制作免费入驻的跨境电商平台
  • 锦江建设和交通局网站软文优化
  • 网站建设 朝阳区网络营销方法有哪些举例
  • 做外贸的阿里巴巴网站是哪个更好打开百度搜索网站
  • wordpress+培训行业主题百度推广优化怎么做