当前位置: 首页 > article >正文

vueDay04——v-if else show

一、v-if的使用

我们可以像c语言一样去使用v-if结构

比如单用v-if,连用v-if  v-else,或者是v-if v-else-if v-else

注意:

1.v-if v-else-if需要绑定值,而v-else不需要绑定值

2.if结构可以用在不同的标签类型之间

<div v-if="firstShowFlag">
        first被渲染
</div>
<div v-else-if="secondShowFlag">
        second被渲染
</div>
<p v-else>
        third被渲染
</p>

我们可以利用一个button绑定一个方法区实现某些样式的切换,但是感觉不如class与style绑定来的实在,但是好处是逻辑比较清晰,如果用绑定的方式不容易一眼看出逻辑

    <button @click="changevalue">
        点击我进行切换
    </button>
    <div v-if="showFlag">
        <h1>Vue is awesome!</h1>
    </div>
    <div v-else>
        <h1>Oh no 😢,我是菜🐔</h1>
    </div>
const showFlag = ref(true)
const changevalue = () => {
    showFlag.value = !showFlag.value
}

还有一点template上的v-if这个没看懂,草草草草草

二、v-if和v-show的大同小异

相同点就是,他们二者都可以控制标签是否渲染,可以选择性的控制元素的显示

不同点就是 

1.v-show不支持在template上面使用

2.v-show并不会擦除本身标签,而是切换了一个叫display的CSS样式

3.v-if每次都会被销毁或者创建,而v-show只会将其藏起来或者显示出来

4.v-if只有在第一次为true的时候才会渲染 而v-show不管怎么都会渲染

三、全部代码

 

<template v-if="trueFlag">
    <button @click="changevalue">
        点击我进行切换
    </button>
    <div v-if="showFlag">
        <h1>Vue is awesome!</h1>
    </div>
    <div v-else>
        <h1>Oh no 😢,我是菜🐔</h1>
    </div>
</template>

<script lang="ts" setup>
// import { defineComponent } from '@vue/composition-api'
import { ref } from 'vue'
// false true
const booleanFlagArray = ref([false,false,false]) 
const firstShowFlag = ref(booleanFlagArray.value[0])
const secondShowFlag = ref(booleanFlagArray.value[1])
const thirdShowFlag = ref(booleanFlagArray.value[2])

const showFlag = ref(true)
const falseFlag = ref(false)
const trueFlag = ref(true)

const changevalue = () => {
    showFlag.value = !showFlag.value
}
</script>


http://www.kler.cn/a/103992.html

相关文章:

  • python sqlalchemy(ORM)- 02 表关系
  • ftp远程连接传输的常见问题有哪些?如何一站式解决传输问题?
  • Redis的开发利用
  • Redis主从模式(二)---拓扑结构及复制过程
  • 【stm32】stm32MX定时器
  • 嵌入式中的MCU、ARM、DSP、FPGA
  • 20231024后端研发面经整理
  • ArcGIS笔记12_ArcGIS搜索工具没法用?ArcGIS运行很慢很卡?
  • Hadoop分布式安装
  • 【可视化Java GUI程序设计教程】第4章 布局设计
  • 【Java】泛型擦除机制
  • vue 中 mixin 和 mixins 区别
  • hbase和aerospike基础概念及所对应的python包API使用
  • 深度学习_4_实战_直线最优解
  • 6.6 Elasticsearch(六)京淘项目改造
  • vue实现div拖拽
  • 面试算法37:小行星碰撞
  • 0基础学习PyFlink——不可以用UDTAF装饰器装饰function的原因分析
  • 操作系统:计算机系统概述
  • 堆(二叉树,带图详解)