您好,登錄后才能下訂單哦!
怎么在vue中使用component組件?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
組件component的注冊(cè)
全局組件:
Vue.component('todo-item',{ props:['grocery'], template:'<li>{{grocery.text}}</li>' }) var app7 = new Vue({ el:"#app7", data:{ groceryList:[ {"id":0,"text":"蔬菜"}, {"id":1,"text":"奶酪"}, {"id":2,"text":"其他"} ] } })
<div id="app7"> <ol> <todo-item v-for="grocery in groceryList" v-bind:grocery="grocery" v-bind:key="grocery.id"> </todo-item> </ol> </div>
局部注冊(cè):
var Child = { template: '<div>A custom component!</div>' } new Vue({ // ... components: { // <my-component> 將只在父模板可用 'my-component': Child } })
DOM模板解析說明
組件在某些HTML標(biāo)簽下會(huì)受到一些限制。
比如一下代碼,在table標(biāo)簽下,組件是無效的。
<table> <my-row>...</my-row> </table>
解決方法是,通過is屬性使用組件
<table> <tr is="my-row"></tr> </table>
應(yīng)當(dāng)注意,如果您使用來自以下來源之一的字符串模板,將不會(huì)受限
<script type="text/x-template">
JavaScript 內(nèi)聯(lián)模版字符串
.vue 組件
data使用函數(shù),避免多組件互相影響
html
<div id="example-2"> <simple-counter></simple-counter> <simple-counter></simple-counter> <simple-counter></simple-counter> </div>
js
var data = { counter: 0 } Vue.component('simple-counter', { template: '<button v-on:click="counter += 1">{{ counter }}</button>', data: function () { return data } }) new Vue({ el: '#example-2' })
如上,div下有三個(gè)組件,每個(gè)組件共享一個(gè)counter。當(dāng)任意一個(gè)組件被點(diǎn)擊,所有組件的counter都會(huì)加一。
解決辦法如下
js
Vue.component('simple-counter', { template: '<button v-on:click="counter += 1">{{ counter }}</button>', data: function () { return {counter:0} } }) new Vue({ el: '#example-2' })
關(guān)于怎么在vue中使用component組件問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。