這篇文章主要介紹“VUE組件如何創(chuàng)建、渲染、及注冊(cè)”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“VUE組件如何創(chuàng)建、渲染、及注冊(cè)”文章能幫助大家解決問(wèn)題。
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比呼倫貝爾網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式呼倫貝爾網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋呼倫貝爾地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
創(chuàng)建組件用Vue.extend()
創(chuàng)建的組件不要寫(xiě)el因?yàn)樽罱K所有的組件都要被vm管理,由vm決定服務(wù)的對(duì)象
date不能寫(xiě)對(duì)象形式而是寫(xiě)成函數(shù)形式,且其中一定要return一個(gè)對(duì)象
// 創(chuàng)建一個(gè)組件 const school=Vue.extend({ // 配置template,里面存放的是通過(guò)當(dāng)前組件中的內(nèi)容生成的標(biāo)簽,最終會(huì)作為模板在頁(yè)面中解析出來(lái) template:``, // 配置date data(){ return{ name:'z', adress:'earth' } } })我的名字:{{name}}
地址:{{adress}}
注意:在全局環(huán)境下使用Vue.entend({})創(chuàng)建的組件,在不使用Vue.component('組件名',最終組件名)聲明時(shí),就是局部組件,不可以被其他vm實(shí)例使用,如果使用了Vue.component創(chuàng)建的組件時(shí)為全局組件(Vue.entend可以省略,直接const 組件名={ })
當(dāng)組件注冊(cè)完成之后,在頁(yè)面中vm服務(wù)的el內(nèi)使用,使用方式就是將最終組件名作為一個(gè)標(biāo)簽放到想要的位置等待瀏覽器解析即可
const vm=new Vue({ el:'root', components:{ // 注冊(cè)組件 sl:school } })
頁(yè)面中
Document
總結(jié):vm實(shí)例相當(dāng)于起了一個(gè)橋梁作用,使得組件中的內(nèi)容最終會(huì)被展現(xiàn)在頁(yè)面上,這樣提高了代碼的利用率,當(dāng)我們需要重復(fù)使用某一個(gè)內(nèi)容時(shí),可以直接找到這個(gè)內(nèi)容所在的組件,然后將組件注冊(cè)到實(shí)例上即可在頁(yè)面中展示。
1、全局注冊(cè):當(dāng)Vue創(chuàng)建,組件就會(huì)被加載,不管該組件使不使用,都會(huì)被加載【占內(nèi)存】【入門(mén)程序】
2、局部注冊(cè):當(dāng)我們使用到某個(gè)組件,該組件才會(huì)被創(chuàng)建,如果不使用該組件,那么該組件不會(huì)被創(chuàng)建
創(chuàng)建vm,配置el(決定components中的組件為誰(shuí)服務(wù))
配置components對(duì)象,其中元素以key,value存儲(chǔ),key是在當(dāng)前實(shí)例中的組件名(最終組件名),value是我們?cè)谌汁h(huán)境下配置的組件名
全局注冊(cè)
Vue.component("button-a",{ template:"\n" + " ", data:function () { return{ count:0 } }, methods:{ } })
局部注冊(cè)
let componentA = { template:"\n" + " ", data:function () { return{ count:0 } }, methods:{ } } new Vue({ el:"#app", components:{ "component-a":componentA, } })
關(guān)于data為什么是一個(gè)函數(shù)
在組件中編寫(xiě)html結(jié)構(gòu)時(shí),來(lái)回復(fù)制黏貼,非常麻煩,也很占內(nèi)存。解決辦法是在html里用模板編寫(xiě),并且和js分離
1、模板需要寫(xiě)在template標(biāo)簽中,template標(biāo)簽寫(xiě)在容器外部
2、在template標(biāo)簽中只能有一個(gè)根標(biāo)簽
組件
阿薩德