详解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 相关文章推荐
利用进制转换压缩数字函数分享
Jan 02 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
Node.js中路径处理模块path详解
Nov 14 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
VUE实现强制渲染,强制更新
Oct 29 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 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 array_multisort() 函数的深入解析
2013/06/20 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
python使用cookielib库示例分享
2014/03/03 Python
用Python shell简化开发
2018/08/08 Python
python使用matplotlib绘制热图
2018/11/07 Python
python opencv调用笔记本摄像头
2019/08/28 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
年级组长自我鉴定
2014/02/22 职场文书
洗发露广告词
2014/03/14 职场文书
大气污染防治方案
2014/05/19 职场文书
土建施工员岗位职责
2014/07/16 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
先进个人自荐书
2015/03/06 职场文书
治庸问责工作总结
2015/08/11 职场文书
护理培训心得体会
2016/01/22 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书