知识汇总11~vue中v-if使用时需要注意的点

    1. v-if和v-else或v-else-if之间不能添加其他元素。   
      以下是错误事例
      1. <span v-if="type==1">错误示范</span>
      2.   <span>哈哈哈</span>
      3.   <p v-else>嘿嘿嘿</p>

      以下是正确实例
      1.   <span v-if="type==1">正确示范</span>
      2.   <p v-else>嘿嘿嘿</p>
      3.   <span>哈哈哈</span>
    2. v-if 为同一类型组件(或同一模板的dom树)来做显示和隐藏时,最好在最外层添加key属性来设定唯一标识,否则容易出问题
      1.   <template v-if="type=== 'username'">
      2.  < label>用户名</label>
      3.  < input placeholder="输入用户名">
      4.   </template>
      5.   <template v-else>
      6.  < label>邮箱</label>
      7.  < input placeholder="输入邮箱">
      8.   </template>
      以上代码切换时,仅仅切换placeholder,而不会重新渲染,因为他用了相同的模板
      若v-if切换的是逻辑复杂的控件时,切换时不重新渲染极易出问题
      需要给要重新渲染的控件添加一个key属性,来唯一标识该控件,被key标识后会重新渲染。实例如下

      1.   <template v-if="type=== 'username'" key="1">
      2.  < label>用户名</label>
      3.  < input placeholder="输入用户名">
      4.   </template>
      5.   <template v-else key="2">
      6.  < label>邮箱</label>
      7.  < input placeholder="输入邮箱">
      8.   </template>

转载于:https://www.cnblogs.com/sunshineForFuture/p/9394592.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值