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表达式的返回值,决定一个标签是否在页面上展 ...
随机推荐
- 层层剖析一次 HTTP POST 请求事故
vivo 互联网服务器团队- Wei Ling 本文主要讲述的是如何根据公司网络架构和业务特点,锁定正常请求被误判为跨域的原因并解决. 一.问题描述 某一个业务后台在表单提交的时候,报跨域错误,具体如 ...
- k8s client-go源码分析 informer源码分析(4)-DeltaFIFO源码分析
client-go之DeltaFIFO源码分析 1.DeltaFIFO概述 先从名字上来看,DeltaFIFO,首先它是一个FIFO,也就是一个先进先出的队列,而Delta代表变化的资源对象,其包含资 ...
- 【原创】项目四Tr0ll-1
实战流程 1.nmap枚举 nmap -sP 192.168.186.0/24 nmap -p- 192.168.186.142 nmap 192.168.186.142 -p- -sS -sV -A ...
- SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
定时任务几乎是每个业务系统必不可少的功能,计算到期时间.过期时间等,定时触发某项任务操作.在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添 ...
- Spring Security整合企业微信的扫码登录,企微的API震惊到我了
本文代码: https://gitee.com/felord/spring-security-oauth2-tutorial/tree/wwopen/ 现在很多企业都接入了企业微信,作为私域社群工具, ...
- 多路分支、for循环
多路分支 多路分支也叫做switch语句,它的格式: switch (控制表达式){ case 条件: 输出....} switch 可以看成一种跳转,每当我们满足跳转就会跳转到响应的位置,接下我们写 ...
- Node.js精进(1)——模块化
模块化是一种将软件功能抽离成独立.可交互的软件设计技术,能促进大型应用程序和系统的构建. Node.js内置了两种模块系统,分别是默认的CommonJS模块和浏览器所支持的ECMAScript模块. ...
- MCDF实验2
目录 接口的使用 仿真的结束 类的例化和类的成员 接口的使用 问题1.1:可以看到之前的实验 channel initiator 发送的数据例如 valid 和 data 与时钟 clk 均在同 ...
- 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》
1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...
- SpringCloudAlibaba学习(解决SpringBoot初始化以及Nginx启动出错问题)
微服务强调每个服务都是单独的数据库 在不使用微服务的情况下可以采用分布式架构,通过Template来调用远程的Rest接口 但这种方式维护起来很麻烦,而且有很多弊端. 一.环境搭建 1.首先搭建Spr ...