摘要:組件是最強(qiáng)大的功能之一。全局組件注冊(cè)方式組件名方法我是全局組件渲染結(jié)果我是全局組件我是全局組件這里需要注意全局組件必須寫在實(shí)例創(chuàng)建之前,才在該根元素下面生效我是全局組件這樣只會(huì)渲染根元素下面的,并不會(huì)渲染根元素下面的,并且會(huì)報(bào)錯(cuò)。
組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼。在較高層面上,組件是自定義元素,Vue.js 的編譯器為它添加特殊功能。在有些情況下,組件也可以是原生 HTML 元素的形式,以 is 特性擴(kuò)展。個(gè)人認(rèn)為就是一個(gè)可以重復(fù)利用的結(jié)構(gòu)層代碼片段。
全局組件注冊(cè)方式:Vue.component(組件名,{方法})
eg:
渲染結(jié)果:
我是全局組件
我是全局組件
這里需要注意:
1.全局組件必須寫在Vue實(shí)例創(chuàng)建之前,才在該根元素下面生效;
eg:
這樣只會(huì)渲染app1根元素下面的,并不會(huì)渲染app根元素下面的,并且會(huì)報(bào)錯(cuò)。
2.模板里面第一級(jí)只能有一個(gè)標(biāo)簽,不能并行;
這樣子會(huì)報(bào)錯(cuò),并且只會(huì)渲染第一個(gè)標(biāo)簽h1;我們應(yīng)該這樣子寫:
局部組件注冊(cè)方式,直接在Vue實(shí)例里面注冊(cè)
eg:
局部組件需要注意:
1.屬性名為components,s千萬別忘了;
2.套路比較深,所以建議模板定義在一個(gè)全局變量里,代碼看起來容易一點(diǎn),如下:(模板標(biāo)簽比較多的時(shí)候,這樣子寫更加簡潔規(guī)整)
關(guān)于組件中的其他屬性,可以和實(shí)例中的一樣,但是data屬性必須是一個(gè)函數(shù):
eg:
顯示結(jié)果:
全局組件和局部組件一樣,data也必須是一個(gè)函數(shù):
顯示結(jié)果:
當(dāng)使用 DOM 作為模板時(shí) (例如,將 el 選項(xiàng)掛載到一個(gè)已存在的元素上),你會(huì)受到 HTML 的一些限制,因?yàn)?Vue 只有在瀏覽器解析和標(biāo)準(zhǔn)化 HTML 后才能獲取模板內(nèi)容。尤其像這些元素