Vue学习之路第十一篇:为页面元素设置class类样式
1、class为页面元素的一个属性,通过前面第五篇的内容可知,操作属性需要使用到v-bind指定(也可简写为 :)。
2、先来看一个简单的页面样式内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue样式</title>
<script type="text/javascript" src="js/vue.min.js"></script> <style type="text/css">
.red{
color: red;
}
.thin{
font-weight: bold;
}
.size{
font-size: 30px;
}
</style>
</head>
<body>
<div id="app">
<p class="red size">这是Vue样式示例</p>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{},
methods:{}
})
</script>
</body>
</html>
里面简单的定义了三个样式类:red、thin、size;接下来我们通过v-bind实现同样的效果。
<p v-bind:class="redStr">这是Vue样式示例</p>
p标签里我们添加v-bind指令,class里的样式内容为Vue对象里data属性定义的“redStr”值。
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
redStr:'red size'
},
methods:{}
})
</script>
data里redStr的值为“red size”,所以运行效果是一样的。
3、看下个例子:
<body>
<div id="app">
<p v-bind:class="['red',flag?'size':'']">这是Vue样式示例</p>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
flag:true
},
methods:{}
})
</script>
</body>
这里我感觉虽然用了v-bind指令,但是其没有从data里取数据,其直接把样式定义成了一个固定字符串数组,通过数组内容取对应的样式。其有一个特点就是可以读取三元表达式,根据三元表达式来控制样式是否进行展示。而且我们还可以对这个三元表达式进行简化,用对象的方式来达到同样的效果。代码如下:
<p v-bind:class="['red',{'size':flag}]">这是Vue样式示例</p>
4、下个例子:
<body>
<div id="app">
<p v-bind:class="classObj">这是Vue样式示例</p>
</div> <script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
classObj:{'size':true,'red':true,'thin':true}
},
methods:{}
})
</script>
</body>
这里通过属性绑定了data对象数据classObj,其值为一个对象,通过true或者false来决定是否应用该样式,这样的代码比较简洁而且灵活度比较高。
5、以上几种方式都可以用来定义class样式,具体使用哪一种可以根据具体需求场景来应用。
每天进步一点点!
Vue学习之路第十一篇:为页面元素设置class类样式的更多相关文章
- 黑马vue---16、vue中通过属性绑定为元素设置class类样式
黑马vue---16.vue中通过属性绑定为元素设置class类样式 一.总结 一句话总结: 这里就是为元素绑定class样式,和后面的style样式区别一下 vue中class样式绑定方式的相对于原 ...
- Vue学习之路第三篇:插值表达式和v-text的区别
上一篇说到插值表达式有一个问题: 页面频繁刷新或者网速加载很慢的时候,页面会先出现“{{ msg }}”,再一闪而过出现真实的数据. 对于这个问题Vue给予了解决办法,看具体事例. <div i ...
- Vue学习之路第七篇:跑马灯项目实现
前面六篇讲解了Vue的一些基础知识,正所谓:学以致用,今天我们将用前六篇的基础知识,来实现类似跑马灯的项目. 学前准备: 需要掌握定时器的两个函数:setInterval和clearInterval以 ...
- vue学习指南:第十一篇(详细) - Vue的 路由 第一篇 ( router )
一.路由的配置 路由 vue-router 1. 什么是路由? 路由相当于一个配置对象 路由:就是我们通过不同的url访问不同的内容,通过angular.js 可以实现多视图的单页,现在流行的单页面 ...
- Vue学习之路第二十篇:Vue生命周期函数-组件创建期间的4个钩子函数
1.每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些叫做生命周期钩子的函数 ...
- Vue学习之路第十二篇:为页面元素设置内联样式
1.有了上一篇的基础,接下来理解内联样式的设置会更简单一点,先看正常的css内联样式: <dvi id="app"> <p style="font-si ...
- Vue学习之路第十篇:简单计算器的实现
前面九篇讲解了vue的一些基础知识,正所谓:学以致用,今天我们将用前九篇的基础知识,来模拟实现计算器的简单功能,项目价值不高,纯粹是为了加深掌握所学知识. 学前准备: 需要掌握JavaScript的e ...
- Vue学习之路第八篇:事件修饰符
学习准备: ①.顾名思义,“事件修饰符”那么肯定是用来修饰事件,既然和事件有关系,那么肯定和“v-on”指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .preve ...
- Vue学习之路第五篇:v-bind
v-bind:是Vue提供的用于绑定html属性的指令. html中常见的属性有:id.class.src.title.style等,他们都是以 名称/值对 的形式出现,如:id="firs ...
随机推荐
- 介绍C++ STL常用模板使用方法的相关资料
1.vector的几种初始化及赋值方式
- hdu 1239
首先,p,q>=2,所以p,q<=50000; 然后,我们观察a<=b<1000,而p,q<=100000.那么,q>=10000时,p<=10,则a/b&l ...
- JavaFX本地应用自己主动更新功能的实现FXLauncher
JavaFX本地应用自己主动更新功能的实现--FXLauncher 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一. ...
- hdu1018--斯特灵公式
斯特灵公式 Wiki http://zh.wikipedia.org/wiki/斯特林公式 /** \brief hdu 1018 * * \param date 2014/7/24 * \param ...
- spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误
使用spring的HibernateDaoSupport的时候.报错例如以下: java.lang.ClassCastException: java.lang.String cannot be cas ...
- B1965 [Ahoi2005]SHUFFLE 洗牌 数论
这个题的规律很好找,就是奇数直接除二,偶数除二加n/2.把这个规律整理一下就是(x * 2) % (n + 1),然后就直接求逆元就行了.一直30分的原因是qpow函数传参的时候用的int,然而变量是 ...
- Gym-101915D Largest Group 最大独立集 Or 状态压缩DP
题面题意:给你N个男生,N个女生,男生与男生之间都是朋友,女生之间也是,再给你m个关系,告诉你哪些男女是朋友,最后问你最多选几个人出来,大家互相是朋友. N最多为20 题解:很显然就像二分图了,男生一 ...
- kafka+storm 单机运行
环境: 1.kafka+zookeeper 2.window平台 3.eclipse 设置: 1.kafka和zookeeper安装,另一篇有介绍(https://www.cnblogs.com/51 ...
- OC数组和字典中存入niu值
在NSArray和NSDictionary中nil有特殊的含义.但是某些时候,我们必须要放入nil怎么办? 要想放入nil就必须用到一个类NSNull,这个类只有一个类方法,就是null.[NSNul ...
- Android View事件分发与传递
在Android中,人们主要通过手指与系统交互.Android把所有的touch事件都被封装成MotionEvent来进行处理,其中包括了手指点击的位置,时间等信息.其事件类型主要包括:ACTION_ ...