网站首页 > 知识剖析 正文
(1)定义n初始值0,
<script>
Vue.config.productionTip = false
const vm = new Vue({
el: "#app",
data: {
"n": 0
},
methods: {},
computed: {},
})
</script>
(2)定义自加按钮,展示n的值,和判断结果
<p><a class="btn btn-block btn-primary" @click="n++">自加</a></p>
<h2>n == {{n}}</h2>
<h3 v-text="n == 1"></h3>
1、v-show
<h1 style="color: red">使用v-show进行条件渲染</h1>
<h3 v-show="n == 1">使用v-show进行条件渲染</h3>
2、v-if
<h1 style="color: red">使用v-if进行条件渲染</h1>
<h3 v-if="n == 1">使用v-if进行条件渲染</h3>
3、v-if v-else-if v-else
<h1 style="color: red">使用if else-if else进行条件渲染 </h1>
<h3 v-if="n === 1">使用v-if进行条件渲染 if else-if - v-if="n === 1"</h3>
<h3 v-else-if="n == 2">使用v-if进行条件渲染 if else-if - v-else-if="n == 2"</h3>
<h3 v-else-if="n == 3">使用v-if进行条件渲染 if else-if - v-else-if="n == 3"</h3>
<h3 v-else>使用v-if进行条件渲染 if else-if - v-else</h3>
4、template
<h1 style="color: red">使用template v-if进行条件渲染 </h1>
<template v-if="n == 1">
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
</template>
执行结果
笔记分享
<pre v-show="true">
条件渲染:
1、v-if
写法:
(1)v-if = "表达式"
(2)v-else-if = "表达式"
(3)v-else = "表达式"
适用于:切换频率较低的场景
特点:不展示的DOM元素将被直接删除
注意:v-if和v-else-if、v-else一起使用的时候,要求结构不可以被打断
2、v-show
写法:v-show = "表达式"
适用于:切换频率较高的场景
特点:不展示的DOM元素未被移除,使用样式进行隐藏
3、备注
使用v-if时,元素可能无法获取到,使用v-show是可获取到的
4、使用template v-if
写的时候template对内容进行了包裹,
等最终页面渲染的时候,将把template标签删掉,
这也就是说不破坏原来的样式。
但是template只能配合v-if进行使用。
</pre>
源码截图
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="static/css/bootstrap.css">
<!-- 导入vue文件 -->
<script src="static/js/vue.js"></script>
<script src="static/js/vue-router.js"></script>
</head>
<body class="container">
<div id="app">
<pre v-show="true">
条件渲染:
1、v-if
写法:
(1)v-if = "表达式"
(2)v-else-if = "表达式"
(3)v-else = "表达式"
适用于:切换频率较低的场景
特点:不展示的DOM元素将被直接删除
注意:v-if和v-else-if、v-else一起使用的时候,要求结构不可以被打断
2、v-show
写法:v-show = "表达式"
适用于:切换频率较高的场景
特点:不展示的DOM元素未被移除,使用样式进行隐藏
3、备注
使用v-if时,元素可能无法获取到,使用v-show是可获取到的
4、使用template v-if
写的时候template对内容进行了包裹,
等最终页面渲染的时候,将把template标签删掉,
这也就是说不破坏原来的样式。
但是template只能配合v-if进行使用。
</pre>
<p><a class="btn btn-block btn-primary" @click="n++">自加</a></p>
<h2>n == {{n}}</h2>
<h3 v-text="n == 1"></h3>
<hr>
<h1 style="color: red">使用v-show进行条件渲染</h1>
<h3 v-show="n == 1">使用v-show进行条件渲染</h3>
<hr>
<h1 style="color: red">使用v-if进行条件渲染</h1>
<h3 v-if="n == 1">使用v-if进行条件渲染</h3>
<hr>
<h1 style="color: red">使用if else-if else进行条件渲染 </h1>
<h3 v-if="n === 1">使用v-if进行条件渲染 if else-if - v-if="n === 1"</h3>
<h3 v-else-if="n == 2">使用v-if进行条件渲染 if else-if - v-else-if="n == 2"</h3>
<h3 v-else-if="n == 3">使用v-if进行条件渲染 if else-if - v-else-if="n == 3"</h3>
<h3 v-else>使用v-if进行条件渲染 if else-if - v-else</h3>
<hr>
<h1 style="color: red">使用template v-if进行条件渲染 </h1>
<template v-if="n == 1">
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
<h3>使用v-if进行条件渲染 - template v-if="n == 1"</h3>
</template>
</div>
<script>
Vue.config.productionTip = false
const vm = new Vue({
el: "#app",
data: {
"n": 0
},
methods: {},
computed: {},
})
</script>
</body>
</html>
- 上一篇: 获取 HTML 元素的位置坐标
- 下一篇: 聊聊 CSS 隐藏元素的 10 种实用方法
猜你喜欢
- 2024-11-23 Python的selenium实现等待某个元素加载完成后返回结果
- 2024-11-23 DOM 操作之DOM概念和获取元素
- 2024-11-23 html 哪些是块级元素、哪些是行内元素?
- 2024-11-23 前端面试题-CSS-可替换元素和非替换元素
- 2024-11-23 小白总结:前端HTML基础知识点(1)——元素总结
- 2024-11-23 HTML Video 元素在 Vue 中消失的 muted 属性
- 2024-11-23 用CSS 实现元素垂直居中,有哪些好的方案?
- 2024-11-23 JavaScript知识点总结(7)
- 2024-11-23 Java 0基础入门 (Html表单、表单元素)
- 2024-11-23 《css大法》之使用伪元素实现超实用的图标库
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)