请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

组件构造函数都继承 Vue 么

无论是全局组件还是局部组件,都是默认为 Vue.extent 生成的组件构造器吧,在 createComponent 视频中,老师讲到由于 Sub.extend 也继承了 Vue.extend 所以可以让 B 组件构造器继承自 A 组件构造器,所以需要可以用 vue 官网的例子来这样做:

var CompA = { ... }

// 在没有调用 `Vue.extend` 时候继承 CompA
var CompB = {
  extends: CompA,
  ...
}

即在没有调用 Vue.extend 时默认为继承 Vue,而如果手动添加:extend: CompA,那么就会继承 CompA

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2020-01-03 10:51:38

组件 options 中的 extends 和 Vue.extend 是 2 回事情,extends 和 mixins 作用是很类似的。在 createComponent 过程中,会执行 Vue.extend(),在 mergeOptions 的过程中,才会处理 extends。

1 回复 有任何疑惑可以回复我~
  • 提问者 六一888 #1
    那如果希望 B 组件构造函数继承自 A 组件构造函数该怎么做,在 createComponent 视频中,老师讲到由于 Sub.extend 也继承了 Vue.extend 所以可以让 B 组件构造器继承自 A 组件构造器,这是怎么操作的?
    回复 有任何疑惑可以回复我~ 2020-01-03 11:16:12
  • ustbhuangyi 回复 提问者 六一888 #2
    可以试试 const B = Vue.extend(CompA) const C = B.extend(CompA)
    回复 有任何疑惑可以回复我~ 2020-01-03 11:19:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信