v-if v-else v-else if 条件指令/ v-if 与 v-show 区别

news/2024/7/9 23:45:32 标签: v-if, vue, 条件, 隐藏, 显示

 

用法一、布尔值ture/false 显示/隐藏元素

1. true 显示元素:v-if的值和seen 属性值一致,为 true。<p>元素显示


<div id="app-3">
  <p v-if="seen">现在你看到我了</p>
</div>

<script>
var app3 = new Vue({
  el: '#app-3',
  data: {
    seen: true
  }
})
</script>

2.flase 隐藏元素:把app3.seen 属性值改为false,v-if的值也为false,<p>元素隐藏

<div id="app-3">
  <p v-if="seen">现在你看到我了</p>
</div>

<script>
var app3 = new Vue({
  el: '#app-3',
  data: {
    seen: true
  }
})

app3.seen=false
</script>

 

用法二、在<template>元素上使用,显示/ 隐藏整个分组(就是同时显示/ 隐藏多个元素)

注意:

vue 函数绑定的元素要包裹在  <template> 元素外面,也就是说,要绑定在<template> 元素的父元素上,不能直接绑定在<template>元素

例子中,a=new Vue 绑定在 <template> 的父元素<div id="app">

<div id="app">  
<template v-if="true">
<p id="a" v-html="rawHtml">Using mustaches: {{ rawHtml }}</p>
<p >Using v-html directive: </p>
</template>
</div>

<script> //vue js 代码写在这里

var a=new Vue({
el:"#app",                 //绑定的元素
data:{ rawHtml:'<span style="color:red">利用vue添加了插入一个span 元素</span>'  //元素内数据代码 message
}
});

</script>

v-if 的值为 true 时,网页显示<template> 包裹的所有元素

网页效果:

v-if 的值为 false 时,网页隐藏<template> 包裹的所有元素

<div id="app">  
<template v-if="flase">
<p id="a" v-html="rawHtml">Using mustaches: {{ rawHtml }}</p>
<p >Using v-html directive: </p>
</template>
</div>

网页效果:<template> 包裹的<p>元素 都被隐藏

 


 v-else 和 v-else-if 元素必须紧跟在带 v-if 或者 v-else-if  的元素之后, 否则无法识别

1. v-else 用法

 2.v-else-if 用法 



v-show

一、定义: 

v-show 不支持<template> 元素,也不支持 v-else

二、v-if 与v-show 区别

共同点:都可以实现渲染和隐藏的功能

区别:带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display


http://www.niftyadmin.cn/n/1529078.html

相关文章

面向接口 spring

创建的任何一个类,它功能的实现,也都是依赖的它内部引用的其他的类和逻辑来实现了,这就类与类之间有了依赖关系,这就是一种耦合 依赖注入:说白了就是具体实现类的导入,在spring下,我们创建一个bean,但我们并不写死这个bean的依赖,而是通过xml或者注解的方式,动态的注入,所以说…

@Autowired中还传递了一个required=false的属性,false指明当userDao实例存在就注入不存就忽略,如果为true,就必须注入,若userDao实例不存在,就抛出异常。

public class UserServiceImpl implements UserService {//标注成员变量Autowiredprivate UserDao userDao; } Autowired中还传递了一个requiredfalse的属性&#xff0c;false指明当userDao实例存在就注入不存就忽略&#xff0c;如果为true&#xff0c;就必须注入&#xff0…

v-html 解析并插入 html 标签

1. 双大括号会将数据解释为普通文本&#xff0c;而非 HTML 代码。 <div id"app"> <p id"a">Using mustaches: {{ rawHtml }}</p> <p >Using v-html directive: </p></div><body> <script src"https:/…

<context:component-scan/>与<context:annotation-config/>

前面我们使用Autowired、Resource、Value等自动装配注解时用&#xff1c;context:annotation-config/&#xff1e;进行注解驱动注册&#xff0c;从而使注解生效。实际上这样&#xff1c;context:annotation-config/&#xff1e;一条配置&#xff0c;它的作用是式地向 Spring 容…

spring之AOP基本概念和配置详解

Spring&#xff08;六&#xff09;spring之AOP基本概念和配置详解 2014年08月21日 14:20:22 阅读数&#xff1a;1173 首先我们来看一下官方文档所给我们的关于AOP的一些概念性词语的解释&#xff1a; 切面&#xff08;Aspect&#xff09;&#xff1a;一个关注点的模块化&am…

jquery实现页面刷新后保留鼠标点击addclass的样式

方法&#xff1a;[javascript] view plaincopy<span style"font-size:18px;">$(ul.main-menu li a).each(function(){ if($($(this))[0].hrefString(window.location)) $(this).parent().addClass(active); });</span> 实际项目中经过修…

vue 的响应式是什么意思/ Object.freeze( ) 阻止数据响应

<p id"inpChange"> vue实例创建后&#xff0c;弹出窗口: newV.messagedata.message </p><script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script>//创建数据对象 var data{ message:"good good…

基于Annotation的Spring AOP: @AfterReturning

基于Annotation的Spring AOP: AfterReturning 2013年08月03日 06:20:37 阅读数&#xff1a;7916 AfterReturning 增强处理将在目标方法正常完成后被织入。 使用AfterReturning可指定如下两个属性&#xff1a; ① pointcut / value : 两者都用于指定该切入点对应的切入表达…