作用域插槽
有时让插槽内容能够访问子组件中才有的数据是很有用的
<div id="app">
<parent>
<template v-slot:test6='parentUsers'>{{parentUsers}}---{{parentUsers.user}}</template>
</parent>
</div>
<script>
var parent = {
data:function(){
return {
userdata:'p'
}
},
template:`
<div>
<div><slot name='test6' v-bind:user="userdata"></slot></div>
</div>
`,
}
new Vue({
el:'#app',
data:{
},
components:{
parent,
},
})
</script>
结果
解构插槽 Prop
推荐写法
<div id="app">
<parent>
<!-- rename重名名 -->
<template v-slot:test6='{user,user:rename,users,heng={heng1:"hengtest"}}'>
{{user}}<hr>
{{rename}}<hr>
{{users}}<hr>
{{users.test1}}<hr>
{{heng.heng1}}
</template>
</parent>
</div>
<script>
var parent = {
data:function(){
return {
userdata:'p',
userdatas:{
test1:'11',
test2:'22'
},
}
},
template:`
<div>
<div><slot name='test6' v-bind:user="userdata" v-bind:users="userdatas" ></slot></div>
</div>
`,
}
new Vue({
el:'#app',
data:{
},
components:{
parent,
},
})
</script>
结果: