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表达式的返回值,决定一个标签是否在页面上展 ...
随机推荐
- Python实现将excel文件转化为html文件
需要转化的excel文件(nsrxx.xlsx): 源代码: import pandas as pdimport codecspd.set_option('display.width', 1000)p ...
- 学习Java的第十六天——随机数
学习内容:随机数 1.GetEvenNum()方法 实例代码: package 数字处理类; public class MathRondom {public static int GetEvenNum ...
- Python数据分析--Numpy常用函数介绍(4)--Numpy中的线性关系和数据修剪压缩
摘要:总结股票均线计算原理--线性关系,也是以后大数据处理的基础之一,NumPy的 linalg 包是专门用于线性代数计算的.作一个假设,就是一个价格可以根据N个之前的价格利用线性模型计算得出. 前一 ...
- 内网穿透frp教程 windows远程桌面连接
鉴于ngrok不是特别好用 昨天又发现frp这个神器 在管理端还有图形界面十分友好 话不多说开始 准备工作 1.一个域名 2.一台服务器 一.域名与服务器 域名和服务器直接买就好咯 价格不高 一定要在 ...
- iview 酸爽debug: subMenu默认选中无效的解决方法
一. 在iview中写一个submenu <Col span="3" type="flex" v-if="showCids"> ...
- 论文解读(SUBLIME)《Towards Unsupervised Deep Graph Structure Learning》
论文信息 论文标题:Towards Unsupervised Deep Graph Structure Learning论文作者:Yixin Liu, Yu Zheng, Daokun Zhang, ...
- MySQL - 数据库的隔离级别
MySQL - 数据库的隔离级别 隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read) 未提交读(Read uncommitte ...
- Docker-Compose实现Mysql主从
1. 简介 通过使用docker-compose 搭建一个主从数据库,本示例为了解耦 将两个server拆分到了两个compose文件中,当然也可以放到一个compose文件中 演示mysql版本:5 ...
- buuctf刷题记录
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xx ...
- [自制操作系统] 第04回 完善MBR
目录 一.前景回顾 二.改写MBR 三.实现loader 一.前景回顾 在之前我们说到,MBR的作用便是加载操作系统内核到指定位置.而MBR需要通过读取硬盘来获得操作系统内核.在上一回我们已经讲解了硬 ...