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

猜你喜欢

转载自blog.csdn.net/a460550542/article/details/82689602
今日推荐