为什么在这边删了左的 v-if="$slots.left",右边的就能在右边

为什么在这边删了左的 v-if="$slots.left",右边的就能在右边

<template>

<div class="mine-navbar">

<div class="mine-navbar-left" v-if="$slots.left">

<slot name="left"></slot>

</div>

<div class="mine-navbar-center" v-if="$slots.center">

<slot name="center"></slot>

</div>

<div class="mine-navbar-right" v-if="$slots.right">

<slot name="right"></slot>

</div>

</div>

</template>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2019-05-09 18:23:15

你好,v-if即使去掉了父组件slot属性中传递了值还是可以使用的,可以这样测试:

header.vue文件中:

http://img1.sycdn.imooc.com//climg/5cd3ff5600011ec407760248.jpg

index.vue文件中:

http://img1.sycdn.imooc.com//climg/5cd3ff6f0001c60205880657.jpg

自己可以测试下,祝学习愉快!

好帮手慕星星 2019-05-09 15:57:41

你好,因为代码给右侧设置了绝对定位,定位在右边,所以即使左侧和中间没有了,右侧还是显示在右边:

http://img1.sycdn.imooc.com//climg/5cd3dd6f0001407704490222.jpg

祝学习愉快!

  • 提问者 浑俗和光233 #1
    不是,在没有绝对定位的时候,删除了v-if
    2019-05-09 15:58:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师