详解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 相关文章推荐
JavaScript 学习 - 提高篇
Feb 02 Javascript
改版了网上的一个js操作userdata
Apr 27 Javascript
JavaScript.Encode手动解码技巧
Jul 14 Javascript
JS 实现导航栏悬停效果
Sep 23 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
AngularJS 中文API参考手册
Jul 28 Javascript
vue项目中使用ueditor的实例讲解
Mar 05 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
React SSR样式及SEO的实践
Oct 22 Javascript
JavaScript计算出两个数的差值
Mar 19 Javascript
vue如何实现关闭对话框后刷新列表
Apr 08 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下的权限算法的实现
2007/04/28 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
微信小程序实现侧边分类栏
2019/10/21 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
Apache如何部署django项目
2017/05/21 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
python开发前景如何
2020/06/11 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
现代化办公人员工作的自我评价
2013/10/16 职场文书
毕业生自我推荐
2013/11/04 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
回门宴父母答谢词
2014/01/26 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
政府四风问题整改措施
2014/10/04 职场文书
大学生自我评价范文
2015/03/03 职场文书
个人业务学习心得体会
2016/01/25 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
详解JavaScript中Arguments对象用途
2021/08/30 Javascript