详解vue.js之绑定class和style的示例代码


Posted in Javascript onAugust 24, 2017

一.绑定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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个获取第n个元素节点的js函数
Sep 02 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
JS实现简单的tab切换选项卡效果
Sep 21 Javascript
关于Vue Webpack2单元测试示例详解
Aug 14 Javascript
3种vue路由传参的基本模式
Feb 22 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
Apr 17 Javascript
vue中vee validate表单校验的几种基本使用
Jun 25 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
Vue实现按钮级权限方案
Nov 21 Javascript
Vue的双向数据绑定实现原理解析
Feb 17 Javascript
10个最优秀的Node.js MVC框架
Aug 24 #Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 #Javascript
Vue.js实现价格计算器功能
Mar 30 #Javascript
js微信分享实现代码
Oct 11 #Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 #Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 #Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 #Javascript
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
php 301转向实现代码
2008/09/18 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
js通过canvas生成图片缩略图
2020/10/02 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python for循环生成列表的实例
2018/06/15 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
python实现简单flappy bird
2018/12/24 Python
Python threading的使用方法解析
2019/08/28 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
军训学生自我鉴定
2014/02/12 职场文书
优秀家长自荐材料
2014/08/26 职场文书
师德师风自我评价范文
2014/09/11 职场文书
新教师个人工作总结
2015/02/06 职场文书
应急管理工作总结2015
2015/05/04 职场文书