不管有没有提供slot,this.$slots都是空对象
<template>
<div class="smart-item">
<label class="label">{{label}}: </label>
<!--判断如果有slot则不显示-->
<span class="value">{{value}}</span>
<slot :value="value"></slot>
</div>
</template>
<script>
export default {
data () {
return {}
},
props: {
label: {
type: String,
default: ''
},
value: {
default: ''
}
},
methods: {}
}
</script>
//使用
<smart-item label="123" :value="value1"></smart-item>
<smart-item label="123" :value="value2">
<template slot-scope="{value}">
<span class="green">{{value}}</span>
</template>
</smart-item>
你这是个作用域插槽,要用
this.$scopedSlots
可以看下文档scopedSlots