默认插槽:
1 2 3 4 5 6 7 8 9 10 11 12
| <child-component>rocyuan</child-component>
Vue.component('child-component',{ template:` <div> Hello,World! <slot></slot> </div> ` })
// 将 child-component 中的内容会插入到 slot 中
|
具名插槽:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <child-component> <h1 slot="center">中间的</h1> <h1 slot="left">中间的</h1> <h1>默认的</h1> </child-component>
Vue.component('child-component',{ template:` <div> Hello,World! <slot name="center"></slot> <slot name="left"></slot> <slot></slot> </div> ` })
|
作用域插槽:
也可理解为带数据的插槽;如果我们v-for循环渲染表格,表格每行都有本行的数据,有一列是需要进行功能操作数据的,这样我们就可以使用作用域插槽拿到本行的数据进行操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 已被废弃: <slot-example> <template slot-scope="slotProps"> {{ slotProps}} </template> </slot-example>
使用这种: <template> <template v-slot="{ msg }"> {{ msg }} </template> </template> 或: <view v-for="item in dataList" key="item.id"> <template v-slot:default="item"> <!-- 此处添加插槽内容 --> <view class="cont-item"> <view class="title">{{item.title}}</view> </view> </template> </view>
|