欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue駝峰與短橫線(xiàn)分割命名中有哪些坑

 更新時(shí)間:2023年02月10日 11:39:13   作者:Zong_0915  
這篇文章主要介紹了Vue駝峰與短橫線(xiàn)分割命名中的注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

駝峰和短橫線(xiàn)分割命名注意事項(xiàng)

我們一般定義組件的方式有兩種:

  • 短橫線(xiàn)分隔命名:kebab-case。
  • 首字母大寫(xiě)命名:PascalCase

組件注冊(cè)命名

例如,我寫(xiě)一個(gè)簡(jiǎn)單的子組件。

<template>
  <div class="border">
    <h2>我是子組件</h2>
  </div>
</template>
<script setup>
</script>
<style scoped>
.border {
  border: 1px solid;
  width: 400px;
}
</style>

注冊(cè)的時(shí)候采用PascalCase命名:

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

使用的時(shí)候:

<template>
  <div class="border">
    <h1 >我是父組件</h1>
    <my-component />
    <!-- <MyComponent /> -->
    <!-- <myComponent /> -->
  </div>
</template>
<style scoped>
.border {
  border: 1px solid;
  width: 400px;
  height: 200px;
}
</style>

結(jié)果如下:

自定義的組件在使用上,命名的規(guī)則如下:

  • 注冊(cè)的時(shí)候:使用了PascalCase命名。
  • 使用的時(shí)候:可以使用PascalCase命名(首字母不區(qū)分大小寫(xiě))或者kebab-case命名(每個(gè)單詞的首字母不區(qū)分大小寫(xiě))。

一般編碼的時(shí)候,習(xí)慣這樣:命名的時(shí)候采取PascalCase命名法,使用的時(shí)候采取kebab-case法(每個(gè)單詞的首字母小寫(xiě))。

父子組件數(shù)據(jù)傳遞時(shí)命名

父組件在給子組件傳遞變量的時(shí)候,如果變量名稱(chēng)采用kebab-case法,那么子組件在接收的時(shí)候應(yīng)該寫(xiě)駝峰命名法。

例如,我再父組件中這么傳參:

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

子組件的接收:駝峰命名法。

<template>
  <div class="border">
    <h2>我是子組件</h2>
    <div>接收來(lái)自父組件傳入的參數(shù):{{ 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>

效果如下:

父子組件函數(shù)傳遞

父組件在傳遞給子組件的時(shí)候,命名上我測(cè)試下來(lái)沒(méi)有什么特殊的要求。先說(shuō)下傳遞的命名上:

父組件傳遞:

<MyComponent :user-name="name" @sayHello="sayHello"/>
const sayHello =  ()=>{
  console.log('Hello')
}

子組件的接收上:

<template>
  <div class="border">
    <h2>我是子組件</h2>
    <div>接收來(lái)自父組件傳入的參數(shù):{{ props.userName }}</div>
    <a @click="hello">點(diǎn)擊</a>
    <br>
    <a @click="hello2">點(diǎn)擊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>

結(jié)果如下:無(wú)論是使用下劃線(xiàn)分割還是原名,都可以正常接收。

經(jīng)過(guò)測(cè)試,父組件在傳函數(shù)的時(shí)候,使用kebab-case法,和上述案例一個(gè)效果。

因此我們就這么約定吧:

父組件傳遞函數(shù)的時(shí)候,就原名傳入即可。

到此這篇關(guān)于Vue駝峰與短橫線(xiàn)分割命名中有哪些坑的文章就介紹到這了,更多相關(guān)Vue駝峰與短橫線(xiàn)分割命名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue-cli3全面配置詳解

    vue-cli3全面配置詳解

    這篇文章主要介紹了vue-cli3全面配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 使用proxy實(shí)現(xiàn)一個(gè)更優(yōu)雅的vue【推薦】

    使用proxy實(shí)現(xiàn)一個(gè)更優(yōu)雅的vue【推薦】

    Proxy 用于修改某些操作的默認(rèn)行為,等同于在語(yǔ)言層面做出修改,所以屬于一種“元編程”。這篇文章主要介紹了用proxy實(shí)現(xiàn)一個(gè)更優(yōu)雅的vue,需要的朋友可以參考下
    2018-06-06
  • Element-ui?DatePicker日期選擇器基礎(chǔ)用法示例

    Element-ui?DatePicker日期選擇器基礎(chǔ)用法示例

    這篇文章主要為大家介紹了Element-ui?DatePicker日期選擇器基礎(chǔ)用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue 中的keep-alive實(shí)例代碼

    vue 中的keep-alive實(shí)例代碼

    這篇文章主要介紹了vue中的keep-alive實(shí)例代碼,vue實(shí)現(xiàn)組件信息緩存的方法,在文中也給大家提到,需要的朋友可以參考下
    2018-07-07
  • Vue使用NPM方式搭建項(xiàng)目

    Vue使用NPM方式搭建項(xiàng)目

    這篇文章主要介紹了Vue項(xiàng)目搭建過(guò)程,使用NPM方式搭建的,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-10-10
  • Vue配置代理(devServer)解決跨域問(wèn)題

    Vue配置代理(devServer)解決跨域問(wèn)題

    這篇文章主要介紹了Vue配置代理(devServer)解決跨域問(wèn)題,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-08-08
  • 通過(guò)GASP讓vue實(shí)現(xiàn)動(dòng)態(tài)效果實(shí)例代碼詳解

    通過(guò)GASP讓vue實(shí)現(xiàn)動(dòng)態(tài)效果實(shí)例代碼詳解

    GASP是一個(gè)JavaScript動(dòng)畫(huà)庫(kù),它支持快速開(kāi)發(fā)高性能的 Web 動(dòng)畫(huà)。GASP 使我們能夠輕松輕松快速的將動(dòng)畫(huà)串在一起,來(lái)創(chuàng)造一個(gè)高內(nèi)聚的流暢動(dòng)畫(huà)序列。這篇文章主要介紹了通過(guò)GASP讓vue實(shí)現(xiàn)動(dòng)態(tài)效果,需要的朋友可以參考下
    2019-11-11
  • 在IDEA中配置eslint和prettier的全過(guò)程

    在IDEA中配置eslint和prettier的全過(guò)程

    日常開(kāi)發(fā)中,建議用可以用Prettier做代碼格式化,然后用eslint做校驗(yàn),下面這篇文章主要給大家介紹了關(guān)于在IDEA中配置eslint和prettier的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • vue中實(shí)現(xiàn)在外部調(diào)用methods的方法(推薦)

    vue中實(shí)現(xiàn)在外部調(diào)用methods的方法(推薦)

    下面小編就為大家分享一篇vue中實(shí)現(xiàn)在外部調(diào)用methods的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Vue3通過(guò)JSON渲染ElementPlus表單的流程步驟

    Vue3通過(guò)JSON渲染ElementPlus表單的流程步驟

    這篇文章主要介紹了Vue3通過(guò)JSON渲染ElementPlus表單的流程步驟,文中通過(guò)代碼示例和圖文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-10-10

最新評(píng)論