1.mixins命名冲突
- 数据为对象类型的着则进行合并,如
data
,methods
,components
等,如果命名冲突,则取组件的键值对 - 同名钩子函数则会合并为一个数组,都会被调用,mixins先于组件调用
2. vue2插槽slot
- 默认插槽
- 具名插槽
- 插槽默认值
<!-- SlotComp -->
<div>
<slot>我是默认插槽的默认值</slot>
<slot name="slotName">我是具名(slotName)插槽的默认值</slot>
</div>
<!-- 使用 -->
<SlotComp>
<div>我要被放到默认插槽</div>
<template v-slot:slotName>
<div>我会被方法 slotName 插槽内</div>
<template>
</SlotComp>
- 作用域插槽—让插槽内容能够访问子组件中才有的数据
<!-- SlotComp -->
<div>
<slot msg="我要在父组件插槽中显示的数据1">我是默认插槽的默认值</slot>
<slot name="slotName" data="我要在父组件插槽中显示的数据2">我是具名(slotName)插槽的默认值</slot>
</div>
<!-- 使用 -->
<SlotComp>
<template v-slot:default="slotProps">
<div>我会被方法 slotName 插槽内</div>
<div>{{ slotProps.msg }}</div>
<template>
<template v-slot:slotName="slotName">
<div>我会被方法 slotName 插槽内</div>
<div>{{ slotName.data }}</div>
<template>
</SlotComp>
这里的
slotProps
和slotName
是插槽作用域的名字,可以用任意名字