如果外面没传插槽进来,外层的那个 <span> 压根也不会显示;而你的写法里它是始终存在的。当然从样式上看确实这里确实没有区别(假设那个 span 本身没有宽高或其他会显示出来的样式),但有些情况下确实是有用的:<template v-if="$slots.default"> <slot></slot> </template> <template v-else> <div class="container"> <p class="content">有插槽用插槽;没有插槽用默认的内容</p> </div> </template>
如果外面没传插槽进来,外层的那个 <span> 压根也不会显示;而你的写法里它是始终存在的。
当然从样式上看确实这里确实没有区别(假设那个 span 本身没有宽高或其他会显示出来的样式),但有些情况下确实是有用的: