vue中組件的name屬性含義和用法示例
前言
name屬性:只有作為組件選項(xiàng)時(shí)起作用,用來注冊組件名
1、注冊組件名
局部注冊組件,語法:export default{ components:{"組件名":組件對(duì)象}}
其中,"組件名"注冊方法:
方法一:隨便取名,
例:export default{components:{"ComMy":{template:'<h1><h1>'}}隨便取名為:ComMy
方法二:用組件對(duì)象中的name屬性值
組件對(duì)象name屬性:是指要引用的子組件對(duì)象,向外暴露的name屬性
例:
file1.vue中:組件中定義name屬性和name屬性值
<script>
export default{
name:"ComNameHello"
}
</script>
file2.vue中:創(chuàng)建組件–>引用組件–>注冊組件–>使用組件
// 1.創(chuàng)建組件
<template>
<div>
<ComNameHello></ComNameHello> //4.使用組件 可使用組件file1.vue
</div>
</template>
<script>
import ComName from "./file1.vue" //2.引用組件 ComName為file1.vue的組件對(duì)象
export default{
componemts:{ // 3.注冊組件
[ComName.name]: ComName
// ComName.name用來獲?。篺ile1.vue的組件對(duì)象的name屬性值,
// -->是一個(gè)字符串"ComNameHello",
// -->被用做:組件名
// key是變量,必須用“[]”包起來
// ComName 是組件對(duì)象
// 即:components:{"組件名":組件對(duì)象}
}
}
</script>
2、應(yīng)用一:遞歸組件
遞歸組件:組件在當(dāng)前自身組件中,調(diào)用自身組件
例:
<template>
<div >
<h1>組件遞歸</h1>
// 使用子組件ComChild
<com-child :list="list"></com-child> // 向子組件傳遞數(shù)據(jù)
</div>
</template>
<script>
export default {
name: 'ComList',
data() {
return {
list: [{
title: 'A',
children: [{
title: 'A_A1',
},{
title: 'A_A2',
children: [{
title: 'A_A2_A1',
},{
title: 'A_A2_A2',
}]
}]
},{
"title": "B"
},{
"title": "C"
}]
}
},
components: {
ComChild: { // 自定義子組件
name: 'ComChild',
// 模板
// 在組件內(nèi)部調(diào)用自己
// (1):list="list" --> 即:變量list="來自父組件的值"
// (2)使用v-for遞歸組件時(shí)-->需在當(dāng)前組件(組件名'ComList')中,
// -->調(diào)用自身組件<com-child>
template: `
<ul>
<li v-for="(item,index) in list" :key="index">
<span>{{item.title}}</span>
<com-child v-if="item.children" :list="item.children"></com-child>
</li>
</ul>`,
props: ['list'] // 父組件傳遞來的數(shù)據(jù)
}
}
}
</script>
輸出結(jié)果:
3、應(yīng)用二:使用 keep-alive 時(shí),搭配組件 name 進(jìn)行緩存過濾
使用 keep-alive時(shí),可使用include和exclude依據(jù)name屬性來指定:是否緩存組件。
動(dòng)態(tài)組件keep-alive與name屬性關(guān)系看另一篇:
4、應(yīng)用三:vue-devtools 調(diào)試工具
vue-devtools 調(diào)試工具中,顯示的組見名稱由組件name屬性決定
好處:可看到組件名稱更好的定位
例:

5、獲取name屬性
this.$options.name
補(bǔ)充:需要特別注意的是
name的使用過程中報(bào)錯(cuò)
[Vue warn]: Do not use built-in or reserved HTML elements as component id: ****
解決辦法:
在component里面注冊組件的時(shí)候避免用html已有的標(biāo)簽來接收組件;
import header from '@/components/header/header';
export default{
components: {
'header': header
}
};
總結(jié)
到此這篇關(guān)于vue中組件的name屬性含義和用法的文章就介紹到這了,更多相關(guān)vue組件name屬性用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項(xiàng)目如何監(jiān)聽localStorage或sessionStorage的變化
這篇文章主要介紹了vue 項(xiàng)目如何監(jiān)聽localStorage或sessionStorage的變化,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2021-01-01
基于vue3開發(fā)mobile-table適用于移動(dòng)端表格
這篇文章主要給大家介紹了關(guān)于如何基于vue3開發(fā)mobile-table適用于移動(dòng)端表格的相關(guān)資料,需要的朋友可以參考下2024-03-03
electron-vite工具打包后如何通過內(nèi)置配置文件動(dòng)態(tài)修改接口地址
使用electron-vite?工具開發(fā)項(xiàng)目打包完后每次要改接口地址都要重新打包,對(duì)于多環(huán)境切換或者頻繁變更接口地址就顯得麻煩,這篇文章主要介紹了electron-vite工具打包后通過內(nèi)置配置文件動(dòng)態(tài)修改接口地址實(shí)現(xiàn)方法,需要的朋友可以參考下2024-05-05
詳解vue2和vue3如何定義響應(yīng)式數(shù)據(jù)
這篇文章主要是來和大家一起討論一下vue2和vue3是如何定義響應(yīng)式數(shù)據(jù)的,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-11-11
vuejs實(shí)現(xiàn)本地?cái)?shù)據(jù)的篩選分頁功能思路詳解
今天做項(xiàng)目需要一份根據(jù)本地?cái)?shù)據(jù)的篩選分頁功能,下面小編把vuejs實(shí)現(xiàn)本地?cái)?shù)據(jù)的篩選分頁功能的實(shí)現(xiàn)思路分享到腳本之家平臺(tái),需要的朋友可以參考下2017-11-11
Vue項(xiàng)目使用localStorage+Vuex保存用戶登錄信息
這篇文章主要為大家詳細(xì)介紹了Vue項(xiàng)目使用localStorage+Vuex保存用戶登錄信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
vue-cli3單頁構(gòu)建大型項(xiàng)目方案
這篇文章主要介紹了vue-cli3單頁構(gòu)建大型項(xiàng)目方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
vue項(xiàng)目中的public、static及指定不編譯文件問題
這篇文章主要介紹了vue項(xiàng)目中的public、static及指定不編譯文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03


