vue.js学习笔记之绑定style样式和class列表


Posted in Javascript onOctober 31, 2016

数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是 attribute,我们可以用 v-bind 处理它们:只需要计算出表达式最终的字符串。不过,字符串拼接麻烦又易错。因此,在 v-bind 用于 class 和 style 时,Vue.js 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。

一.绑定Class属性。

绑定数据用v-bind:命令,简写成:

语法:<div v-bind:class="{ active: isActive }"></div>。class后面的双引号里接受一个对象字面量/对象引用/数组作为参数,

这里,{active: isActive}是对象参数,active是class名,isActive是一个布尔值。下面是一个例子:

绑定对象字面量

html:

<div id="classBind">
<span :class="{warning:isWarning,safe:isSafe}" v-on:click="toggle">
状态:{{alert}}{{isSafe}}
</span>
</div>
//js
var app11=new Vue({
el:'#classBind',
data:{
isWarning:true,
alertList:['红色警报','警报解除'],
alert:''
},
computed:{
isSafe:function(){
return !this.isWarning;
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});

css:

.warning{
color:#f24;
}
.safe{
color:#42b983;
}

当点击状态文字时,可以切换后面的文字和颜色

//状态:警报解除true

//状态:红色警报false

绑定对象引用

这里绑定的对象可以写到Vue实例的data里面,而在class="classObj ",双引号中的class是对Vue实例中classObj对象的引用。classObj可以放在data中或者computed中,如果在computed中,则classObj所对应的函数必须返回一个对象如下:

js:

var app11=new Vue({
el:'#classBind',
data:{
isWarning:true,
alertList:['红色警报','警报解除'],
alert:''
},
computed: {
isSafe: function () {
return !this.isWarning;
},
classObj:function(){
return {
warning: this.isWarning,
safe:this.isSafe
}
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});

绑定数组

html:

<div v-bind:class="classArray" @click="removeClass()">去掉class</div>

js

data: {
classArray:["big",'red']
}
methods:{
removeClass:function(){
this.classArray.pop();
}
}

css:

.big{
font-size:2rem;
}
.red{
color:red; 
}

效果,点击去掉class,会调用removeClass函数,去掉classArray数组的最后一项,第一次,去掉'red',字体颜色由红变黑,再点,去掉'big',字体变小。

二、绑定内联style

此时此刻,我一边看着本页旁边的那个Vue api文档学,一边到这里卖,装逼的感觉真爽o(^?^)o

html

<div id="styleBind">
<span :style="{color:theColor,fontSize:theSize+'px'}" @click="bigger">styleBind</span>
</div>

css

这个不需要css。。。

js

var app12=new Vue({
el:'#styleBind',
data:{
theColor:'red',
theSize:14
},
methods:{
bigger:function(){
this.theSize+=2;
}
}
});

除了传入对象字面量以外,也可以传入对象引用和数组给V-bind:style

以上所述是小编给大家介绍的vue.js学习笔记之绑定style和class,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 多浏览器 事件大全
Mar 23 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
Nov 30 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
深入理解(function(){... })();
Aug 16 Javascript
jQuery购物网页经典制作案例
Aug 19 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
vue实现全屏滚动效果(非fullpage.js)
Mar 07 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 Javascript
VUE实时监听元素距离顶部高度的操作
Jul 29 Javascript
10分钟学会js处理json的常用方法
Dec 06 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 #Javascript
jQuery grep()方法详解及实例代码
Oct 30 #Javascript
webix+springmvc session超时跳转登录页面
Oct 30 #Javascript
js获取时间函数及扩展函数的方法
Oct 30 #Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
Oct 30 #Javascript
浅谈JS函数定义方式的区别
Oct 30 #Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 #Javascript
You might like
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
javascript算法学习(直接插入排序)
2011/04/12 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
详解python调度框架APScheduler使用
2017/03/28 Python
django如何连接已存在数据的数据库
2018/08/14 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
学python安装的软件总结
2019/10/12 Python
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
大学系主任推荐信范文
2013/12/24 职场文书
食品安全宣传标语
2014/06/07 职场文书
国际金融专业自荐信
2014/07/05 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
Element实现动态表格的示例代码
2021/08/02 Javascript
Python中如何处理常见报错
2022/01/18 Python