zoukankan      html  css  js  c++  java
  • 4.v-if

    1.虚拟DOM导致复用

      使用key绑定不同内容来解决

    下面代码:解决了输入框的内容在点击切换类型后还存在的情况

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 
     9 <div id="vue">
    10     <span v-if="isUser">
    11         <label for="username"> 用户账号</label>
    12         <input type="text" id="username" placeholder="用户账户" key="username">
    13     </span>
    14     <span v-else>
    15         <label for="email"> 用户邮箱</label>
    16         <input type="text" id="email" placeholder="用户邮箱" key="email">
    17     </span>
    18     <button @click="isUser = !isUser">切换类型</button>
    19 </div>
    20 
    21 <!--导入Vue.js-->
    22 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
    23 <script type="text/javascript">
    24     let vm = new Vue({
    25         el: '#vue',
    26         data: {
    27             isUser: true
    28         }
    29 
    30 
    31     });
    32 </script>
    33 </body>
    34 </html>

    2.v-if和v-show区别

    • v-if:当条件为false时,将元素从DOM中删除,当条件为true时,再创建元素放入DOM中

    • v-show:当条件为false时,只是将行内样式设置为:display: none

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 
     9 <div id="vue">
    10     <span v-if="isUser">
    11         <label for="username"> 用户账号</label>
    12         <input type="text" id="username" placeholder="用户账户" key="username">
    13     </span>
    14     <span v-else>
    15         <label for="email"> 用户邮箱</label>
    16         <input type="text" id="email" placeholder="用户邮箱" key="email">
    17     </span>
    18     <button @click="isUser = !isUser">切换类型</button>
    19 
    20     <br>
    21     <!--v-if:当条件为false时,将元素从DOM中删除,当条件为true时,再创建元素放入DOM中-->
    22     <h2 v-if="isShow" id="v-if">{{message}}</h2>
    23     <!--v-show:当条件为false时,只是将行内样式设置为:display: none-->
    24     <h2 v-show="isShow" id="v-show">{{message}}</h2>
    25 </div>
    26 
    27 <!--导入Vue.js-->
    28 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
    29 <script type="text/javascript">
    30     let vm = new Vue({
    31         el: '#vue',
    32         data: {
    33             message: "test v-if and v-show",
    34             isUser: true,
    35             isShow: true
    36         }
    37 
    38 
    39     });
    40 </script>
    41 </body>
    42 </html>
  • 相关阅读:
    playbook实现httpd服务安装与配置
    Ansible介绍与安装使用
    Servlet 连接mysql数据库
    day04作业
    day03python作业
    正式课第一天作业
    函数
    周作业
    数据类型
    day03作业
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12099934.html
Copyright © 2011-2022 走看看