關(guān)于vue.extend和vue.component的區(qū)別淺析

前言

創(chuàng)新互聯(lián)專注于嘉善企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都做商城網(wǎng)站。嘉善網(wǎng)站建設(shè)公司,為嘉善等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

最近一個(gè)朋友問(wèn)我vue.extend和vue.component兩者之間有什么區(qū)別?突然這么一問(wèn)竟答不出來(lái),回來(lái)想想有必要總結(jié)下,所以本文就來(lái)給大家介紹關(guān)于vue.extend和vue.component的區(qū)別,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

Vue.extend 返回的是一個(gè)“擴(kuò)展實(shí)例構(gòu)造器”,也就是一個(gè)預(yù)設(shè)了部分選項(xiàng)的 Vue 實(shí)例構(gòu)造器

var myVue = Vue.extend({
 // 預(yù)設(shè)選項(xiàng)
}) // 返回一個(gè)“擴(kuò)展實(shí)例構(gòu)造器”

// 然后就可以這樣來(lái)使用
var vm = new myVue({
 // 其他選項(xiàng)
})

Vue.component 是用來(lái)全局注冊(cè)組件的方法,其作用是將通過(guò) Vue.extend 生成的擴(kuò)展實(shí)例構(gòu)造器注冊(cè)(命名)為一個(gè)組件,可以簡(jiǎn)單理解為當(dāng)在模板中遇到該組件名稱作為標(biāo)簽的自定義元素時(shí),會(huì)自動(dòng)調(diào)用類似于 new myVue 這樣的構(gòu)造函數(shù)來(lái)生成組件實(shí)例,并掛載到自定義元素上,當(dāng)然實(shí)際情況要比這復(fù)雜得多,還需要處理 props 數(shù)據(jù)傳遞、slot 內(nèi)容分發(fā)、自定義事件、組件生命周期……事宜。

在網(wǎng)上看到了一個(gè)網(wǎng)友的分析也分享給大家,如下:

extend 是構(gòu)造一個(gè)組件的語(yǔ)法器.

你給它參數(shù) 他給你一個(gè)組件 然后這個(gè)組件

你可以作用到Vue.component 這個(gè)全局注冊(cè)方法里, 也可以在任意vue模板里使用<apple>組件

 var apple = Vue.extend({
 ....
 })

 Vue.component('apple',apple) 

你可以作用到vue實(shí)例或者某個(gè)組件中的components屬性中并在內(nèi)部使用apple組件

 new Vue({ 
  components:{
  apple:apple
  }
 })

Vue.component 你可以創(chuàng)建 ,也可以取組件 例如下

var apple = Vue.component('apple')

new Vue

關(guān)于vue.extend和vue.component的區(qū)別淺析

就是創(chuàng)建一個(gè)vue實(shí)例咯 返回一個(gè)vm實(shí)例 。api中vm的說(shuō)明就是new Vue創(chuàng)建的

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。

文章題目:關(guān)于vue.extend和vue.component的區(qū)別淺析
轉(zhuǎn)載來(lái)源:http://muchs.cn/article42/pphghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)網(wǎng)站制作、用戶體驗(yàn)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)