详解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 相关文章推荐
jquery select下拉框操作的一些说明
Apr 02 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
javascript cookie的简单应用
Feb 24 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
vue devtools的安装与使用教程
Aug 08 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
JS实现音乐导航特效
Jan 06 Javascript
element中的$confirm的使用
Apr 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
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
node.js中的require使用详解
2014/12/15 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
Python单例模式实例分析
2015/01/14 Python
Python 序列的方法总结
2016/10/18 Python
深入理解Python对Json的解析
2017/02/14 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
施工资料员岗位职责
2014/01/06 职场文书
人事代理委托书
2014/09/27 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2014年实验室工作总结
2014/12/03 职场文书
教师求职自荐信
2015/03/26 职场文书
大学生逃课检讨书
2015/05/04 职场文书
公司辞职信模板
2015/05/13 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技