详解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 相关文章推荐
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 Javascript
七个很有意思的PHP函数
May 12 Javascript
Javascript中With语句用法实例
May 14 Javascript
js命名空间写法示例
Dec 18 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
详解angular2封装material2对话框组件
Mar 03 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
Jan 08 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 Javascript
在antd4.0中Form使用initialValue操作
Nov 02 Javascript
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
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
简单的php 验证图片生成函数
2009/05/21 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
python修改FTP服务器上的文件名
2019/09/11 Python
利用python 读写csv文件
2020/09/10 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
护理自荐信
2013/10/22 职场文书
八一演出活动方案
2014/02/03 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
教师自荐信范文
2015/03/06 职场文书
公路施工安全责任书
2015/05/08 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android
Python&Matlab实现樱花的绘制
2022/04/07 Python
MySql数据库触发器使用教程
2022/06/01 MySQL