详解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 相关文章推荐
JS小功能(列表页面隔行变色)简单实现
Nov 28 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
jquery实现点击变换导航样式的方法
Aug 31 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
jQuery实现的背景颜色渐变动画效果示例
Mar 24 jQuery
vue判断input输入内容全是空格的方法
Mar 02 Javascript
vue select组件的使用与禁用实现代码
Apr 10 Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 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
javascript 面向对象编程 function也是类
2009/09/17 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
vue组件父与子通信详解(一)
2017/11/07 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
详解Python中的测试工具
2019/06/09 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
销售员岗位职责范本
2014/02/03 职场文书
高中毕业自我评价
2014/02/08 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技