十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
如何在vue中使用注冊組件?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
一、介紹
組件系統(tǒng)是Vue.js其中一個重要的概念,它提供了一種抽象,讓我們可以使用獨(dú)立可復(fù)用的小組件來構(gòu)建大型應(yīng)用,任意類型的應(yīng)用界面都可以抽象為一個組件樹
那么什么是組件呢?
組件可以擴(kuò)展HTML元素,封裝可重用的HTML代碼,我們可以將組件看作自定義的HTML元素。
二、如何注冊組件
Vue.js的組件的使用有3個步驟:創(chuàng)建組件構(gòu)造器、注冊組件和使用組件。
下面用代碼演示這三步
運(yùn)行結(jié)果如下:
一、 全局注冊和局部注冊
調(diào)用Vue.component()注冊組件時,組件的注冊是全局的,這意味著該組件可以在任意Vue示例下使用。
如果不需要全局注冊,或者是讓組件使用在其它組件內(nèi),可以用選項(xiàng)對象的components屬性實(shí)現(xiàn)局部注冊。
我自己的理解只要是component就代表全局組件,components代表局部組件
上面的示例可以改為局部注冊的方式:
由于my-component組件是注冊在#app元素對應(yīng)的Vue實(shí)例下的,所以它不能在其它Vue實(shí)例下使用。
二、組件注冊語法糖
以上組件注冊的方式有些繁瑣,Vue.js為了簡化這個過程,提供了注冊語法糖
// 全局注冊,my-component1是標(biāo)簽名稱 Vue.component('my-component1',{ template: 'This is the first component!' }) var vm1 = new Vue({ el: '#app1' })
Vue.component()的第1個參數(shù)是標(biāo)簽名稱,第2個參數(shù)是一個選項(xiàng)對象,使用選項(xiàng)對象的template屬性定義組件模板。
使用這種方式,Vue在背后會自動地調(diào)用Vue.extend()。
components實(shí)現(xiàn)局部注冊
var vm2 = new Vue({ el: '#app2', components: { // 局部注冊,my-component2是標(biāo)簽名稱 'my-component2': { template: 'This is the second component!' }, // 局部注冊,my-component3是標(biāo)簽名稱 'my-component3': { template: 'This is the third component!' } } }
三、父組件和子組件
我們可以在組件中定義并使用其他組件,這就構(gòu)成了父子組件的關(guān)系。
這段代碼的運(yùn)行結(jié)果如下
四、使用script或template標(biāo)簽
盡管語法糖簡化了組件注冊,但在template選項(xiàng)中拼接HTML元素比較麻煩,這也導(dǎo)致了HTML和JavaScript的高耦合性。
慶幸的是,Vue.js提供了兩種方式將定義在JavaScript中的HTML模板分離出來。
vue組件 這是template標(biāo)簽構(gòu)建的組件
運(yùn)行結(jié)果:
注意:使用
這里v-bind:key其實(shí)可有可無,具體key介紹可以看官網(wǎng)。
這里v-bind:class和v-on:click都是用來為了改變樣式用的。
關(guān)鍵是component組件標(biāo)簽。
Vue的優(yōu)點(diǎn)Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運(yùn)行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗(yàn)。
關(guān)于如何在vue中使用注冊組件問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。