vue.js之绑定class和style

一.绑定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>
//jsvar 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‘,字体变小。

时间: 2024-10-13 00:00:21

vue.js之绑定class和style的相关文章

vue.js样式绑定

vue.js样式绑定 class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处理 class 和 style 时, 专门增强了它.表达式的结果类型除了字符串之外,还可以是对象或数组. class 属性绑定 <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>style of vue<

10.Vue.js 样式绑定

Vue.js 样式绑定 Vue.js class class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处理 class 和 style 时, 专门增强了它.表达式的结果类型除了字符串之外,还可以是对象或数组. class 属性绑定 我们可以为 v-bind:class 设置一个对象,从而动态的切换 class: 实例中将 isActive 设置为 true 显示了一个绿色的 div 块,如果设置为 f

Vue.js双向绑定的实现原理

Vue.js最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统.本文仅探究几乎所有Vue的开篇介绍都会提到的hello world双向绑定是怎样实现的.先讲涉及的知识点,再参考源码,用尽可能少的代码实现那个hello world开篇示例. 参考文章:https://segmentfault.com/a/1190000006599500 一.访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过defineProperty()方法单独定义. var obj = {

Vue.js双向绑定原理

Vue.js最核心的功能有两个,一个是响应式的数据绑定系统,另一个是组件系统.本文仅仅探究双向绑定是怎样实现的.先讲涉及的知识点,再用简化的代码实现一个简单的hello world示例. 一.访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而必须通过defineProperty()方法单独定义. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl

vue.js 事件绑定

1.添加事件监听 v-on (1)使用v-on指令可以添加事件监听,语法: v-on:eventName="fn" 也可以简写成 @:eventName="fn" (2)参数:$event就是当前触发事件的元素,即使不传$event,在回调函数中也可以使用event这个参数 基本使用: <div id="app"> <button v-on:click="test">点我</button>

Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶

Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用.他是基于AnjularJs 编写的,所以和前者的语法特别相似,却又使用简洁了很多. 那今天,我就给大家详细的说道说道这个 Vue.js ,以下是我们这次详解的目录,朋友们可以根据自己的情况选择性阅读,所有操作均附有代码实现. 1. Vue.js 如何绑定到页面中,使用他的功能. 2.

Vue.js 2.0 学习重点记录

Vue.js兼容性 Vue.js.js 不支持 IE8 及其以下版本,因为 Vue.js.js 使用了 IE8 不能模拟的 ECMAScript 5 特性. Vue.js.js 支持所有兼容 ECMAScript 5 的浏览器. Vue.js安装 安装方式有两种: 1.直接下载用script标签引入(推荐引入开发版本,压缩版本会失去错误提示和警告) 2.使用cdn方法引入 3.npm安装 npm安装的前提需要安装了nodejs,这里推荐nvm安装nodejs 附上一小段nvm使用的命令: $ n

Vue.js学习笔记

绑定一个元素 双向绑定 渲染列表 处理用户输入 综合 相应数据的绑定 组件系统 构造器 实例的生命周期 数据绑定语法 插入数据值 绑定表达式 指令 计算属性 绑定Class和CSS 绑定HTML class 绑定内联样式CSS 绑定一个元素 <!-- 如果new Vue不写在$(document).ready(function() {}里面的话,就必须写在最后面,这样才能保证页面元素是先于js加载的. --> <script> $(document).ready(function(

Vue.js 初识

Vue核心库只关注视图层,它不仅易于上手,还便于与第三方或既有项目整合. 前置知识: html+css的基础知识 Javascript的基础知识 node.js初级知识 实践体验: 轻量级的框架 性能优秀 MVVM模式 首先引入Vue.js 通过官方网站:http://vuejs.org/下载Vue.js 编写Vue.js的第一个程序: <!DOCTYPE html> <html lang="en"> <head> <meta charset=