- A:
PositionMain.vue
: 入口组件 - B:
PositionHomeViewCard.vue
: 中间组件 - C:
BasePostiionCard.vue
: Base 组件 - 其中,
A组件
调用B组件
B组件
extendsC组件
A组件
像B组件
传递的Props, 如果在C组件
已经定义了,就不需要声明A组件
像B组件
传递的Props, 如果在C组件
中没有定义, 可以声明, 同时 Props可以被C组件
的模板部分使用但如果C组件
在 script 想使用, 那么依然需要定义在C组件
的 Prop中
- 如果
B组件
中有template
,那么A组件
中渲染的是B组件
中template
中的内容 - 如果
B组件
没有template
,那么A组件
中渲染的是C组件
中template
中的内容 - 同样的,
B组件
可以渲染A组件
传递过来的任何prop
属性,而不用去定义.
B组件
是在重写C组件
定义的各个state
,computed
,method
C组件
只需要定义这些值就可以了.(接口定义级别)B组件
的值会覆盖C组件
的值和方法执行C组件
会使用被B组件
重写(overwrite
)后的值- 关于
template
, 参考💛 extends - template