一、v-if

判断通常是对用户行为的判断

用js来控制,则是使用if语句进行判断,而vue也提供了一个类似if语句的指令——v-if实现条件判断

首先在数据项里设置变量

 data() {
return {
content: "喵喵喵",
play: true
}
}

通过控制play的值就可以实现元素隐藏与显示

在html文件中是这样写的:

<template>
<div id="root">
<div v-if="play">{{ content }}</div>
<div class="button" @click="toggle">toggle</div>
</div>
</template>

当play的值为true时,{{}}中会被渲染上对应的内容,如果play为false,则{{}}内容隐藏。

那么,如何控制内容显示还是隐藏呢,通过在<button>上绑定点击事件实现切换

回到js部分,增加一项method

methods: {
toggle: function() {
this.play = !this.play //取反
}
}

完成以上代码后,就可以实现切换的功能了

二、v-show

使用v-show的方法和v-if一样,在对应的html元素上添加指令

 <div id="root">
<div v-show="play">{{ content }}</div>
<div class="button" @click="toggle">toggle</div>
</div>

接下来打开网页测试下,实现的效果相同,都能把元素隐藏或显示,那么区别在哪呢。

要看dom结构才能发现其中的奥秘

这是使用v-if,play为false的dom结构

这是使用v-show,play为false的dom结构

根据dom结构得出v-if与v-show的区别:

v-if以删除或添加dom结点控制元素的显示隐藏

v-show是通过添加样式display:none控制元素的显示隐藏

总结:

v-if和v-show都可以控制元素的显示或隐藏,具体该使用哪一个应该根据使用情况决定。建议只有一次或少量切换的时候使用v-if,多次切换的情况使用v-show。写页面,当然要从性能方面考虑。

原文链接:https://mp.weixin.qq.com/s/QuFymkUbVacAWBBRdeafQQ

vue--显示和隐藏的更多相关文章

  1. vue 实现表单中password输入的显示与隐藏.

    实现效果: 点击 “眼睛” 的时候显示与隐藏 代码: <!DOCTYPE html> <html lang="en"> <head> <m ...

  2. Vue实现二级菜单的显示与隐藏

    <html> <head> <title>Vue实现二级菜单的显示与隐藏</title> <script src="vue.js&quo ...

  3. VUE中登录密码显示与隐藏的最简设计——基于iview

    目录 VUE中登录密码显示与隐藏的最简设计--基于iview 1.背景 2.实现最终效果 2.1 隐藏密码 2.2 显示密码 3.实现思路 3.1 v-if判断当前密码显示状态 3.2 密码隐藏状态 ...

  4. vue+mui+html5+ plus开发的混合应用底部导航的显示与隐藏

    1. 模板相关内容(template) <template> <div> <transition :name="transitionName"> ...

  5. el-input 标签中密码的显示和隐藏

    效果展示: 密码隐藏: 密码显示: 代码展示: 一:<el-input>标签代码 <el-form-item label="密码" prop="pass ...

  6. react中控制元素的显示与隐藏

    1.通过 state 变量来控制是否渲染元素 类似于 vue 的 v-if 方法是通过变量来控制是否加载元素的,如果变量为false,内容就直接不会渲染的. class Demo extends Re ...

  7. html显示与隐藏元素的几种方式

    html显示与隐藏元素的几种方式 1.display none : 无 隐藏元素 block : 显示 转换为块级元素   不占位:当隐藏的时候元素就完全没有了.不能看见和操作该元素. 优点:为其他元 ...

  8. display:none显示和隐藏

    <html> <head> <title>显示和隐藏问题</title> <meta charset="utf-8"/> ...

  9. EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听

    软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeO ...

  10. Composer根据Name显示与隐藏

    //主要设置 模型的显示与隐藏 private void TransmissionByData_AxSendSelectionChange(string domName, bool isVisible ...

随机推荐

  1. chrome 调试进入 paused in debugger 状态解决办法

    今天调试代码的时候总是一刷新就进入 debugger 状态,总是需要按几次 F8 才能进到页面,我那个暴脾气啊,几次后终于是忍不住了,然后再网上找到了解决办法.就如一位网友所说,“Oh God! I ...

  2. HTML、CSS知识点,面试开发都会需要--No.5 文章段落

    No.5 文章段落 1.文字属性 文字属性包含font-*和text-*两类. 2.基于font的属性 (1)font-family:字体属性,多个字体之前用逗号隔开.如果第一个字体没找到,则依次找后 ...

  3. TX2-入门坑点-Ubuntu16.04任务栏消失

    问题:安装cuda过程中出现任务栏消失,快捷键失效的现象. 解决方法:重装桌面无法解决,使用cssm无法解决,最后删除home目录下的 .cache文件夹重启后解决

  4. dokuwiki 安装配置

    dokuwiki如果在用户注册的时候,发生"发送密码邮件时产生错误.请联系管理员!",那么需要配置sendmail. 在linux平台下,参考这个帖子https://www.dok ...

  5. 内购审核被拒-[environment-sandbox]

    内购审核被拒-[environment-sandbox] 先把新创建的项目提交审核通过后再提交主包 注意,新增加的内购项目要截图告诉苹果

  6. Vsftp搭建 for centos7

    [root@hys ~]# uname -a Linux hys 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x8 ...

  7. java框架之Hibernate(4)-几种检索方式

    准备 模型及映射文件 package com.zze.bean; import java.util.HashSet; import java.util.Set; public class Class ...

  8. MySQL行转列与列转行

    行转列 例如:把图1转换成图2结果展示 图1 图2 CREATE TABLE `TEST_TB_GRADE` ( `ID` ) NOT NULL AUTO_INCREMENT, `) DEFAULT ...

  9. 小程序map组件默认层级最高,并且不能设置的解决方案

    map组件默认在最上面,若要设置像ofo那样的按钮有两个方法,一是用控件设置,控件就是controls属性,控件只能显示图片,不能显示文字之类的.二是用cover-view组件,这个组件就是悬浮在一些 ...

  10. node获取windows pc 机器的标示

    var exec = require('child_process').exec; if(process.platform != "win32"){ //window throw ...