vue 如何根据条件判断属性的添加和去除

 更新时间:2022年01月23日 15:32:59   作者:Lan_Lan99  
这篇文章主要介绍了vue 如何根据条件判断属性的添加和去除,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

根据条件判断属性的添加和去除

写一个列表,然后想要在查询数据的过程中添加loading样式,这个时候需要添加一个loading属性,但是添加之后会有直接展示loading。

解决方法

:loading = isLoading

在下面需要注册isLoading为boolean类型,如下:

isLoading:false/true

然后在开始查询的时候改为false,查询结果出来之后改为false

this.isLoading = true
this.isLoading = false

Vue 的条件判断语句

v-if

条件判断用 v-if 指令

代码示例:在元素中使用 v-if 指令

<div id="app">
    <input type="button" value='toggle' @click='flag=!flag'>
    <h3 v-if='flag'>v-if directive</h3>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

这里, v-if 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素。

v-else

可以用 v-else 指令给 v-if 添加一个 “else” 块

代码示例:在元素中使用 v-if , v-else 指令

<div id="app">
    <h3 v-if='flag'>Yes</h3>    
    <h3 v-else='flag'>No</h3>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       flag:true
    },
    methods:{}
});

这里, v-if,v-else 指令将根据表达式 flag 的值 (true 或 false ) 来决定是否插入 h3 元素以及元素中的值。

v-else-if

v-else-if 在 2.1.0 新增,用作 v-if 的 else-if 块。可以链式的多次使用

代码示例:在元素中使用 v-if , v-else, v-else-if 指令

<div id="app">
    <h3 v-if='star==="Jackson"'>Jackson</h3>    
    <h3 v-else-if='star==="Lay"'>Lay</h3>    
    <h3 v-else='star==="Yang"'>Yang</h3>
</div>
var vm = new Vue({
    el:'#app',
    data:{
       star:Jackson
    },
    methods:{}
});

v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。

v-show

v-show 跟 v-if 的效果差不多;但本质有很大的区别。

代码示例:v-if 与 v-show 的区别

    <div id="app">
        <input type="button" value='toggle' @click='toggle'>
        <!-- 一般来说,v-if 有更高的切换消耗,而 v-show 有更高的初始渲染消耗。
        因此,如果需要频繁切换:用 v-show 较好;如果在运行时条件不大可能改变:
        用 v-if 较好 -->
        <h3 v-if='flag'>v-if directive</h3>
        <h3 v-show='flag'>v-show directive</h3>
    </div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            flag:true
        },
        methods:{
            toggle(){
                this.flag =! this.flag;
            }
        }
    });
</script>

v-if 与 v-show 的区别

区别一:

  • v-if 是动态添加,当值为 false时,是完全移除该元素,即 DOM 不存在;
  • v-show 仅隐藏 / 显示,值为 false 时,该元素依旧存在于 DOM,若其原样式设 display:none 则会导致其无法正常显示

区别二:

  • v-if 有较高的切换性能消耗
  • v-show 有较高的初始渲染消耗

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue+Element-ui实现分页效果

    vue+Element-ui实现分页效果

    这篇文章主要为大家详细介绍了vue+Element-ui实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 利用Vue3封装一个弹框组件简单吗

    利用Vue3封装一个弹框组件简单吗

    最近在项目中自己封装的一个记录一下,下面这篇文章主要给大家介绍了关于利用Vue3封装一个弹框组件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • Node.js+Vue脚手架环境搭建的方法步骤

    Node.js+Vue脚手架环境搭建的方法步骤

    这篇文章主要介绍了Node.js+Vue脚手架环境搭建的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-03-03
  • Jenkins Sidebar Link插件实现添加侧边栏功能详解

    Jenkins Sidebar Link插件实现添加侧边栏功能详解

    这篇文章主要介绍了vue框架实现添加侧边栏,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue内嵌iframe跨域通信的实例代码

    vue内嵌iframe跨域通信的实例代码

    这篇文章主要介绍了vue内嵌iframe跨域通信,主要介绍了Vue组件中如何引入iframe,vue如何获取iframe对象以及iframe内的window对象,结合实例代码给大家介绍的非常详细需要的朋友可以参考下
    2022-11-11
  • webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)

    webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)

    这篇文章主要介绍了解决webpack vue 项目打包生成的文件,资源文件报404问题的修复方法,需要的朋友可以参考下
    2018-01-01
  • vue keep-alive 动态删除组件缓存的例子

    vue keep-alive 动态删除组件缓存的例子

    今天小编就为大家分享一篇vue keep-alive 动态删除组件缓存的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vuex中store存储store.commit和store.dispatch的用法

    vuex中store存储store.commit和store.dispatch的用法

    这篇文章主要介绍了vuex中store存储store.commit和store.dispatch的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Ant Design-vue 解决input前后空格问题(推荐)

    Ant Design-vue 解决input前后空格问题(推荐)

    最近做项目遇到这样一个问题输入框不允许有前后空格但字符中间可以有空格,怎么解决这个问题呢,接下来小编把ant Design-vue 解决input前后空格问题的实现代码分享给大家,感兴趣的朋友一起看看吧
    2022-10-10
  • 详细聊聊vue组件是如何实现组件通讯的

    详细聊聊vue组件是如何实现组件通讯的

    组件间通信简单来说就是组件间进行数据传递,就像我们日常的打电话,就是通讯的一种方式,下面这篇文章主要给大家介绍了关于vue组件是如何实现组件通讯的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论