關于vue.extend和vue.component的區(qū)別淺析
前言
最近一個朋友問我vue.extend和vue.component兩者之間有什么區(qū)別?突然這么一問竟答不出來,回來想想有必要總結下,所以本文就來給大家介紹關于vue.extend和vue.component的區(qū)別,下面話不多說了,來一起看看詳細的介紹吧。
Vue.extend 返回的是一個“擴展實例構造器”,也就是一個預設了部分選項的 Vue 實例構造器
var myVue = Vue.extend({
// 預設選項
}) // 返回一個“擴展實例構造器”
// 然后就可以這樣來使用
var vm = new myVue({
// 其他選項
})
Vue.component 是用來全局注冊組件的方法,其作用是將通過 Vue.extend 生成的擴展實例構造器注冊(命名)為一個組件,可以簡單理解為當在模板中遇到該組件名稱作為標簽的自定義元素時,會自動調用類似于 new myVue 這樣的構造函數來生成組件實例,并掛載到自定義元素上,當然實際情況要比這復雜得多,還需要處理 props 數據傳遞、slot 內容分發(fā)、自定義事件、組件生命周期……事宜。
在網上看到了一個網友的分析也分享給大家,如下:
extend 是構造一個組件的語法器.
你給它參數 他給你一個組件 然后這個組件
你可以作用到Vue.component 這個全局注冊方法里, 也可以在任意vue模板里使用<apple>組件
var apple = Vue.extend({
....
})
Vue.component('apple',apple)
你可以作用到vue實例或者某個組件中的components屬性中并在內部使用apple組件
new Vue({
components:{
apple:apple
}
})
Vue.component 你可以創(chuàng)建 ,也可以取組件 例如下
var apple = Vue.component('apple')
new Vue

就是創(chuàng)建一個vue實例咯 返回一個vm實例 。api中vm的說明就是new Vue創(chuàng)建的
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Vue?ElementUI?table實現雙擊修改編輯某個內容的方法
在實現表格單元格雙擊編輯功能時,需使用@cell-dblclick事件來觸發(fā)雙擊操作,將單元格切換為input輸入框,通過ref引用和綁定失焦及回車事件來確認編輯,同時,需要處理編輯數據的更新和方法邏輯的完善2024-09-09

