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