详解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类库Bindows1.3中的内存释放方式分析
Mar 08 Javascript
Js日期选择器并自动加入到输入框中示例代码
Aug 02 Javascript
JS.findElementById()使用介绍
Sep 21 Javascript
基于jquery的simpleValidate简易验证插件
Jan 31 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
angularjs实现下拉列表的选中事件示例
Mar 03 Javascript
基于js 各种排序方法和sort方法的区别(详解)
Jan 03 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 Javascript
js实现限定范围拖拽的示例
Oct 26 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
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
jQuery 动画基础教程
2008/12/25 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
从零学Python之hello world
2014/05/21 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
Python如何输出百分比
2020/07/31 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
最新的咖啡店创业计划书
2013/12/30 职场文书
工作人员思想汇报
2014/01/09 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
合伙经营协议书范本
2014/04/18 职场文书
企业职业病防治方案
2014/05/29 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
保管员岗位职责
2015/02/14 职场文书
Windows server 2016服务器基本设置
2022/08/14 Servers