Vue 样式绑定 && 条件渲染
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Vue 样式绑定</title>
6 <style>
7 .basic{
8 width: 400px;
9 height: 100px;
10 border: 1px solid black;
11 }
12 .happy{
13 border: 4px solid red;
14 background-color: rgba(255, 255, 0, 0.644);
15 background: linear-gradient(30deg, yellow, pink, orange, yellow);
16 }
17 .sad{
18 border: 4px dashed rgb(2, 197, 2);
19 background-color: gray;
20 }
21 .normal{
22 background-color: skyblue;
23 }
24 .div1{
25 background-color: yellowgreen;
26 }
27 .div2{
28 font-size: 30px;
29 text-shadow: 2px 2px 10px red;
30 }
31 .div3{
32 border-radius: 20px;
33 }
34 </style>
35 <script type="text/javascript" src="../js/vue.js"></script>
36 </head>
37 <body>
38 <!--
39 绑定样式:
40 1.class样式
41 写法:class="xxx" xxx可以是字符串、对象、数组
42 字符串写法适用于 雷鸣不确定,要动态获取
43 对象写法适用于:要绑定多个样式,个数不确定,名字也不确定
44 数组写法使用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用
45 2.style样式
46 :style="fontSize: xxx" 其中xxx是动态值
47 :style="[a, b]"其中a、b是样式对象
48
49 -->
50 <div id="root">
51 <!-- 绑定class样式--字符串写法,适用于:样式的类名不确定,需要动态指定 -->
52 <div class="basic" :class="mood" @click="changeMood">{{name}}</div> <br/> <br/>
53
54 <!-- 绑定class样式--数组写法,适用于:要绑定的样式个数不确定、名字也不确定 -->
55 <div class="basic" :class="classArr">{{name}}</div> <br/> <br/>
56
57 <!-- 绑定class样式,对象写法,适用于:要绑定的样式个数、名字确定,但要动态决定启不启用它 -->
58 <div class="basic" :class="classObj">{{name}}</div> <br/> <br/>
59
60 <!-- 绑定style样式-对象写法 -->
61 <div class="basic" :style="styleObj">{{name}}</div> <br/> <br/>
62
63 <!-- 绑定style样式-数组写法 -->
64 <div class="basic" :style="styleArr">{{name}}</div> <br/> <br/>
65 </div>
66 </body>
67
68 <script type="text/javascript" >
69 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
70 let vm = new Vue({
71 el: '#root',
72 data:{
73 name: 'BaiYeShu',
74 mood: 'normal',
75 classArr: ['div1', 'div2', 'div3'],
76 classObj:{
77 div1: true,
78 div2: true,
79 div3: true
80 },
81 styleObj:{
82 color: "red",
83 fontSize: "40px",
84 backgroundColor: 'orange'
85 },
86 styleArr:[
87 {
88 color: "red",
89 fontSize: "40px",
90 },
91 {
92 backgroundColor: 'orange'
93 }
94 ]
95 },
96 methods:{
97 changeMood(e){
98 const arr = ['happy', 'sad', 'normal'];
99 const index = Math.floor(Math.random()*3);
100 this.mood = arr[index];
101 }
102 }
103 });
104 </script>
105 </html>
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Vue 条件渲染</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 </head>
8 <body>
9 <!--
10 条件渲染:
11 1.v-if
12 写法:
13 . v-if="表达式"
14 . v-else-if="表达式"
15 . v-else
16 适用于:切换平率较低的场景
17 特点:不展示的DOM元素直接被移除
18 注意:v-if可以和:v-else-if、v-else一起使用。但要求结构不能被“打断”。
19 2.v-show
20 写法:v-show="表达式"
21 适用于:切换频率较高的场景
22 特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉
23 3.备注:使用v-if的时候,元素可以无法获取到,而使用v-show一定可以获取到。
24 -->
25 <div id="root">
26 <h2>当前n的值是:{{n}}</h2>
27 <button @click="n++">点我n+1</button>
28 <!-- 使用v-show做条件渲染 -->
29 <!-- <h2 v-show="false">欢迎来到{{name}}!</h2>
30 <h2 v-show="1 === 1">欢迎来到{{name}}!</h2> -->
31
32 <!-- 使用v-if做条件渲染 -->
33 <!-- <h2 v-if="false">欢迎来到{{name}}!</h2>
34 <h2 v-if="1 === 1">欢迎来到{{name}}!</h2> -->
35
36 <!-- 使用v-else和v-else-if做渲染 -->
37 <div v-if="n === 1">Angular</div>
38 <div v-else-if="n === 2">React</div>
39 <div v-else-if="n === 3">Vue</div>
40 <div v-else>哈哈</div>
41
42 <!-- v-if与temolate配合使用 -->
43 <template v-if="n === 1">
44 <h2>hello</h2>
45 <h2>{{name}}</h2>
46 <h2>BeiJing</h2>
47 </template>
48 </div>
49 </body>
50
51 <script type="text/javascript" >
52 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
53 let vm = new Vue({
54 el: '#root',
55 data:{
56 name: 'BaiYeShu',
57 n: 0
58 },
59 });
60 </script>
61 </html>
Vue 样式绑定 && 条件渲染的更多相关文章
- Vue学习之--------绑定样式、条件渲染、v-show和v-if的区别(2022/7/12)
文章目录 1.绑定样式 1.1 基础知识 1.2 代码实例 1.3 测试效果 2.条件渲染 2.1 基本知识 2.2 代码实例 2.3 测试效果 1.绑定样式 没啥好说的.我觉得还没直接引入外部写好的 ...
- Vue学习计划基础笔记(三)-class与style绑定,条件渲染和列表渲染
Class与style绑定.条件渲染和列表渲染 目标: 熟练使用class与style绑定的多种方式 熟悉v-if与v-for的用法,以及v-if和v-for一起使用的注意事项 class与style ...
- 关于vue.js中条件渲染的练习
html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...
- Vue样式绑定和事件处理器
一.样式绑定 class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. v-bind 在处理 class 和 style 时, 专门增强了它 ...
- Vue样式绑定、事件绑定
1.样式绑定 1.1class类标签绑定 <p :class="对象"> <p :class="数组"> <p :class=&q ...
- vue样式绑定、事件监听、表单输入绑定、响应接口
1.样式绑定 操作元素的 class 列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可.不过,字符串拼接麻烦且易错 ...
- Vue 基础自查——条件渲染和列表渲染
v-if和v-show的区别是什么? v-if和v-for为什么不能一起用? v-for中的key有什么作用? 1 v-if 和 v-show 1.1 作用 都用来控制元素的显示和隐藏 1.2 控制元 ...
- vue样式绑定
vue 绑定class 和style 有相同的地方,可以是数组和对象,对于class class是真实的在css样式中添加的,只不过在元素中添加需要:class这样代表绑定,然后这个class作为对象 ...
- 3-6 Vue中的条件渲染
本次案例讲解:v-if,v-show,v-else,v-else-if和key值的相关用法!!! v-if指令: //通过一个(v-if)指令 ,可以结合js表达式的返回值,决定一个标签是否在页面上展 ...
随机推荐
- 《Mybatis 手撸专栏》第8章:把反射用到出神入化
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为什么,读不懂框架源码? 我们都知道作为一个程序员,如果想学习到更深层次的技术,就需 ...
- linux篇-xshell连接突然报Connection closed by foreign host.
1问题描述报错 Connection closed by foreign host. Disconnected from remote host(yaoGS) at 155513. 2登入虚拟机 在l ...
- Sass预处理器
CSS预处理器 less,sass和stylus sass:较早,缩进风格 scss:完全兼容css3,使用大括号 编写css的编程语言,引入变量,函数,重复代码等功能,如果编译成css文件 Sass ...
- 声学感知刻度(mel scale、Bark scale、ERB)与声学特征提取(MFCC、BFCC、GFCC)
梅尔刻度 梅尔刻度(Mel scale)是一种由听众判断不同频率 音高(pitch)彼此相等的感知刻度,表示人耳对等距音高(pitch)变化的感知.mel 刻度和正常频率(Hz)之间的参考点是将1 k ...
- 背包,子集和以及 (max, +) 卷积在特殊情形下的求法
背包,子集和以及 (max, +) 卷积在特殊情形下的求法 子集和 1:总重量不太大 有 \(n\) 个物品,每个物品重量为 \(w_i\),且 \(\sum\limits_{i} w_i=C\).你 ...
- 一些基本的jar包
jackson与前端传送数据 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <arti ...
- UNION 与 UNION ALL 的区别
UNION:合并查询结果,并去掉重复的行. UNION ALL:合并查询结果,保留重复的行. 举例验证说明: 创建两个表:user_info 和 user_info_b,设置联合主键约束,联合主键的列 ...
- (干货)基于 veImageX 搭建海报生成平台 -- 附源码
前言 618 年中促销即将来临,很多公司都会通过海报来宣传自己的促销方案,通常情况下海报由设计团队基于 PS.Sketch 等工具创作,后期若想替换海报文案.商品列表等内容则需打开原工程进行二次创作, ...
- 2021.03.20【NOIP提高B组】模拟 总结
区间 DP 专场:愉快爆炸 T1 题目大意 有 \(n\) 个有颜色的块,连续 \(k\) 个相同颜色的就可以消掉 现在可以在任意位置插入任意颜色的方块,问最少插入多少个可以全部抵消 题解 先把连续的 ...
- DAST 黑盒漏洞扫描器 第三篇:无害化
0X01 前言 甲方扫描器其中一个很重要的功能重点,就是无害化,目的是尽量降低业务影响到可接受程度. 做过甲方扫描器,基本上对于反馈都有所熟悉. "我们的服务有大量报错,请问和你们有关么&q ...