vue中注冊(cè)組件的兩種方式詳解(全局注冊(cè)&& 局部注冊(cè))
vue 是一個(gè)完全支持組件化開(kāi)發(fā)的框架, 組件之間可以進(jìn)行相互的引用。vue 中組件的引用原則:先注冊(cè)后使用。
1. 組件的注冊(cè)
組件之間可以進(jìn)行相互的引用,例如:

注冊(cè)組件的的方式:分為“全局注冊(cè)”和“局部注冊(cè)”兩種,其中:
被全局注冊(cè)的組件,可以在全局任何一個(gè)組件內(nèi)使用
被局部注冊(cè)的組件,只能在當(dāng)前注冊(cè)的范圍內(nèi)使用


1)全局注冊(cè)組件
在main .js 中引用
import Vue from 'vue'
//導(dǎo)入 dialogBox 和Test 兩個(gè)組件
import dialogBox from './components/InfoMessage/index.vue';
import Test from './components/MyTest.vue'
Vue.component('dialogBox', dialogBox)
Vue.component('my-test', Test)2)使用全局注冊(cè)組件
使用app.component() 方法注冊(cè)的全局組件,直接以標(biāo)簽的形式進(jìn)行使用即可,例如:
//在 main.js中,注冊(cè)了dialogBox 和my-test兩個(gè)全局組件
Vue.component('dialogBox', dialogBox)
Vue.component('my-test', Test)
<!--在其他組件中,直接以標(biāo)簽的形式,使用剛才注冊(cè)的全局組件即可
<template>
<h1>這是App根組件</h1>
<hr/>
<dialogBox></dialogBox>
<my-test></my-test>
</template>3)局部注冊(cè)組件
<template>
<h1>這是App根組件</h1>
<my-swiper></my-swiper>
<my-search></my-search>
</template>
<script>
import Search from './components/MySearch.vue'
export default {
components:{// 通過(guò) components節(jié)點(diǎn),為當(dāng)前的組件注冊(cè)私有子組件
'my-search': Search,
},
}
</script>2.全局注冊(cè)和局部注冊(cè)的區(qū)別
被全局注冊(cè)的組件,可以在全局任何一個(gè)組件內(nèi)使用
被局部注冊(cè)的組件,只能在當(dāng)前在這里插入代碼片注冊(cè)的范圍內(nèi)使用
應(yīng)用場(chǎng)景:
如果某些組件在開(kāi)發(fā)期間的使用頻率很高,推薦進(jìn)行全局注冊(cè);
如果某些組件只在特定的情況下會(huì)被用到,推薦進(jìn)行局部注冊(cè)。
3.組件注冊(cè)時(shí)名稱的大小寫
在進(jìn)行組件的注冊(cè)時(shí),定義組件注冊(cè)名稱的方式有兩種:
①使用kebab-case命名法(俗稱短橫線命名法,例如my-test 和my-search)
②使用PascalCase命名法(俗稱帕斯卡命名法或大駝峰命名法,例如MyTest和MySearch)
短橫線命名法的特點(diǎn):
必須嚴(yán)格按照短橫線名稱進(jìn)行使用
帕斯卡命名法的特點(diǎn):
既可以嚴(yán)格按照帕斯卡名稱進(jìn)行使用,又可以轉(zhuǎn)化為短橫線名稱進(jìn)行使用
注意:在實(shí)際開(kāi)發(fā)中,推薦使用帕斯卡命名法為組件注冊(cè)名稱,因?yàn)樗倪m用性更強(qiáng)
4.通過(guò)name 屬性注冊(cè)組件
在注冊(cè)組件期間,除了可以直接提供組件的注冊(cè)名稱之外,還可以把組件的name 屬性作為注冊(cè)后組件的名稱,
示例代碼如下:

5.組件之間的樣式?jīng)_突問(wèn)題
默認(rèn)情況下,寫在.vue 組件中的樣式會(huì)全局生效,因此很容易造成多個(gè)組件之間的樣式?jīng)_突問(wèn)題。導(dǎo)致組件之間樣式?jīng)_突的根本原因是:
單頁(yè)面應(yīng)用程序中,所有組件的DOM 結(jié)構(gòu),都是基于唯一的index.html 頁(yè)面進(jìn)行呈現(xiàn)的
每個(gè)組件中的樣式,都會(huì)影響整個(gè)index.html 頁(yè)面中的DOM 元素
到此這篇關(guān)于vue中注冊(cè)組件的兩種方式(全局注冊(cè)&& 局部注冊(cè))的文章就介紹到這了,更多相關(guān)vue注冊(cè)組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue2路由地址欄變化API(pushState和replaceState)的避坑指南
你是不是也遇到過(guò)這種尷尬場(chǎng)景:明明URL變了,頁(yè)面卻沒(méi)刷新?或者一刷新直接404教做人?別慌,這都是history.pushState和replaceState在搞事情,因此本文給大家介紹了Vue2路由地址欄變化API的避坑指南,需要的朋友可以參考下2026-02-02
VUE登錄注冊(cè)頁(yè)面完整代碼(直接復(fù)制)
這篇文章主要給大家介紹了關(guān)于VUE登錄注冊(cè)頁(yè)面的相關(guān)資料,在Vue中可以使用組件來(lái)構(gòu)建登錄注冊(cè)頁(yè)面,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
Vue 開(kāi)發(fā)音樂(lè)播放器之歌手頁(yè)右側(cè)快速入口功能
這篇文章主要介紹了Vue 開(kāi)發(fā)音樂(lè)播放器之歌手頁(yè)右側(cè)快速入口功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
proxy實(shí)現(xiàn)vue3數(shù)據(jù)雙向綁定原理
這篇文章主要介紹了proxy實(shí)現(xiàn)vue3數(shù)據(jù)雙向綁定原理,文章以介紹proxy的優(yōu)點(diǎn)開(kāi)始展開(kāi)全文內(nèi)容,圍繞proxy實(shí)現(xiàn)vue3數(shù)據(jù)雙向綁定的相關(guān)資料,,需要的朋友可以參考一下2021-12-12
Vue實(shí)現(xiàn)按鈕級(jí)權(quán)限方案
這篇文章主要介紹了Vue按鈕級(jí)權(quán)限方案,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
vue 路由子組件created和mounted不起作用的解決方法
今天小編就為大家分享一篇vue 路由子組件created和mounted不起作用的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式
這篇文章主要介紹了uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05

