zoukankan      html  css  js  c++  java
  • Vue 框架学习(四) 条件判断

    1、if,else:

    <body>
      <div id ="app">
    
        <!-- 复杂判断还是推荐使用computed计算 -->
        <h2 v-if="score >= 90">
          <div>优秀</div>
        </h2>
        <h2 v-else-if="score >= 60">
          <div>良好</div>
        </h2>
        <h2 v-else>
          <div>不及格</div>
        </h2>
    
        {{message}}
      </div>
    
      <script>
        //创建Vue实例,得到 ViewModel
        const vm = new Vue({
          el: '#app',
          data: {
            message: 'Smallstars',
            isShow: true,
            score: 95
          },
          methods: {},
          computed: {},
        });
      </script>
    
    </body>

    2、条件渲染:

    <body>
      <div id ="app">
        <!-- 如果没有用key标识,会复用输入框,内容不会清空,key值设置需不同才行 -->
        <span v-if="isUser">
          <label for="username">用户账户</label>
          <input type="text" id="username" placeholder="用户账户" key="username">
        </span>
        <span v-else="">
          <label for="email">用户邮箱</label>
          <input type="text" id="email" placeholder="用户邮箱" key="emil">
        </span>
        <button @click="isUser = !isUser">切换类型</button>
      </div>
    
      <script>
        //创建Vue实例,得到 ViewModel
        const vm = new Vue({
          el: '#app',
          data: {
            message: 'Smallstars',
            isUser: true
          },
          methods: {},
          computed: {},
        });
      </script>
    
    </body>

    2、v-show: 多次隐藏使用

    <body>
      <div id ="app">
        <!-- 
        v-if: 当条件为 false 对应元素根本不存在dom中
        v-show: 当条件为 false 只是隐藏,内样式改为: display: none
         -->
        <h2 v-if="isShow" id="a1">{{message}}</h2>
        <h2 v-show="isShow" id="a2">{{message}}</h2>    
      </div>
    
      <script>
        //创建Vue实例,得到 ViewModel
        const vm = new Vue({
          el: '#app',
          data: {
            message: 'Smallstars',
            isShow: true
          },
          methods: {},
          computed: {},
        });
      </script>
    
    </body>

    3、响应函数和不响应操作

    <body>
      <div id ="app">
        <ul>
          <li v-for="value in letters">{{value}}</li>
        </ul>
    
        <button @click="btnClick">按钮</button>
      </div>
    
      <script>
        //创建Vue实例,得到 ViewModel
        const vm = new Vue({
          el: '#app',
          data: {
            letters: ['a', 'c', 'b', 'd']
          },
          methods: {
            btnClick(){
              //1、在最后添加元素
              // this.letters.push('s')
    
              //2、在前面添加元素
              // this.letters.unshift('s')
    
              //3、在最后删除元素
              // this.letters.pop()
    
              //4、在最前面删除元素
              // this.letters.shift()
    
              // 5、排序
              // this.letters.sort()
    
              // 6、反转
              // this.letters.reverse()
    
              // 7、splice
              // 删除元素:(start, length)
              // 替换元素:(start, length, values)
              // 插入元素:(start, 0, values)
              // this.letters.splice(1, 2)
              // this.letters.splice(1, 2, 'e', 'f')
              // this.letters.splice(1, 0, 'e', 'f')
    
              // 非响应式:不会刷新,但是在Console中可以查看到值已经改变
              // this.letters[0] = 'h'
    
              // 可以用以下两种方式达到上式响应式的功能
              // this.letters.splice(1, 1, 'h')
              // set(object, index, value)
              // Vue.set(this.letters, 1, 'h')
            }
          },
          computed: {},
        });
      </script>
    
    </body>
    每天进步一点点
  • 相关阅读:
    PVT--无卷积密集预测的多功能backbone
    MobileNet系列之MobileNet_v3
    MobileNet系列之MobileNet_v2
    CVPR2021 | 开放世界的目标检测
    Siamese network总结
    文字识别OCR开源框架的对比--Tesseract vs EasyOCR
    CVPR2021|一个高效的金字塔切分注意力模块PSA
    Boltdb学习笔记之二--数据结构
    C++关键字之likely和unlikely
    Boltdb学习笔记之〇--概述
  • 原文地址:https://www.cnblogs.com/smallstars/p/13192970.html
Copyright © 2011-2022 走看看