在使用插槽时,若是想通过插槽,可以把税对象中data的数据展示到页面中,一直借用插槽的作用域
--------------------------
Vue.component('mycomponents', {
data() {
return {
user: { name: "我是slot中绑定上去的" }
}
},
template: `<button>
<slot name="a" :user="user"></slot>在插槽中给它一个属性,属性名是什么去所谓,属性值是我们想要传递的data中的数据就行
</button>`
})
html中的代码:
<mycomponents>
<template v-slot:a="msg"> 这边也给插槽一个属性,属性名是什么无所谓
{{msg.user.name}}//msg.user是我们在实例中传递过来的数据
</template>
</mycomponents>
作用域插槽的实际应用:
Vue.component('my', {
data() {
return {
user: [{ name: "我是slot中绑定上去的", age: 12 },
{ name: "我是slot中绑定上去的", age: 12 },
{ name: "我是slot中绑定上去的", age: 12 },
{ name: "我是slot中绑定上去的", age: 12 },
]
}
},
template: `<div>
通过 v-for直接把整个user对象传递到html页面上
<div v-for="item in user">
<slot name="aa" :item="item"></slot>
</div>
</div>`
})
html部分代码:
<my>
<template v-slot:aa="msg">
{{msg.item.name}}
</template>
</my>