1. 程式人生 > >Vue.extend和Vue.component的聯絡與差異

Vue.extend和Vue.component的聯絡與差異

extend 是構造一個元件的語法器. 
你給它引數 他給你一個元件 然後這個元件

你可以作用到Vue.component 這個全域性註冊方法裡, 也可以在任意vue模板裡使用apple元件

var apple = Vue.extend({ 
…. 
}) 
Vue.component(‘apple’,apple)

你可以作用到vue例項或者某個元件中的components屬性中並在內部使用apple元件

new Vue({ 
components:{ 
apple:apple 

})

Vue.component 你可以建立 ,也可以取元件 例如下

var apple = Vue.component(‘apple’)

/**

** createElement(apple); //成功得到vnode物件...通過createElement測試得知,
** 1.extend和component返回的物件均可以被用來建立vnode,
** 2.使用component定義的元件名稱也可以使用CreateElement建立vnode物件
**/

總結:component是extend的親民版,但在實現某些特殊需求的時候,就需要用到extend,如alert元件,你肯定希望alert可以動態插入到body中,而不需要在dom文件流中放一個莫名其妙的alert,大部分時間他還是隱藏的。(你能用component實現我服你)

參考文章:https://blog.csdn.net/o0__0/article/details/54291394

http://www.bubuko.com/infodetail-2083202.html

https://blog.csdn.net/dkr380205984/article/details/80116024