zoukankan      html  css  js  c++  java
  • vue v-if 不显示和显示错位问题

    转载链接:https://blog.csdn.net/wang729506596/java/article/details/81014739

    一、若v-if切换的是逻辑复杂的控件时,切换时不重新渲染极易出问题
    需要给要重新渲染的控件添加一个key属性,来唯一标识该控件,被key标识后会重新渲染。实例如下

    <template v-if="type=== 'username'" key="1"> 
    <label>用户名</label> 
    <input placeholder="输入用户名"> 
    </template> 
    <template v-else key="2"> 
    <label>邮箱</label> 
    <input placeholder="输入邮箱"> 
    </template>

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

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

  • 相关阅读:
    ♫【插件】插入Flash swfobject
    ☀【Alice】
    _#【Vim】
    _#【选择器】链式class选择器
    _#【HTML】
    _#【CSS】display:inlineblock
    【折叠】一
    图解SSIS自动维护SQL索引
    wininet.dll函数库:检查网络状态
    sqlserver中动态sql语句应用
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/12758665.html
Copyright © 2011-2022 走看看