zoukankan      html  css  js  c++  java
  • vue基础(3)样式绑定

    理论知识

    • 样式也属于标签的一种,因此样式绑定同属性绑定的思路一致,只是语法上有些不同。
    • 样式绑定两种方式
      • 对象语法
        • v-bind:class='{key1:value1; key2:value2;.... }',calss中设置的是键值对,key表示给该标签的类名,用在style中使用类选择器选择;value表示key对应的在vue的data中声明的变量,一般为boolean类型。vue通过该变量操作是否启用该类。
      • 数组语法
        • v-bind:class='[value1,value2...]' ,其中value是vue中data属性设置的变量名,此处作为占位符。通过vue可以设置value的值,值可以在style中被选中。
      • 两种方式对比。两者都是通过属性绑定避开了js通过dom操作属性,而是通过vue变量来操作。对象语法主要用在某类一致存在,需要控制该类的样式是否生效。数组语法的权限更高,可以控制类是否存在。
    • 样式绑定的细节
      • 对象绑定和数组绑定两种方法是可以混合使用,例如 v-bind:class='[value1,value2,{key:value3}]'
      • 两种方式可以简化使用。因为直接把对象或数组写在vue模板中,显得数据比较长,可以在vue的data中声明一个变量,是模板干净。 v-bind:class='var1',var1=[value1,value2...]
      • 如果有默认的class,通过vue绑定的class不会覆盖默认class.
    • 样式绑定也可以直接通过绑定style来进行,即绑定内联样式。其语法和效果同绑定class类似。特别地,当绑定多个样式时,且各样式之间操作对象一致时,会发生覆盖。例如 样式A操作div的背景色,样式B也操作这个div的背景色,则两者会发生覆盖。

    实践

    • style样式
    <style type="text/css">
    		.active{
    			border: 1px, solid;
    			background: green;
    		}
    	</style>
    
    • vue模板
    <div v-bind:class='{active: isActive}'>样式测试</div> //类似json对象
    <button @click='changeStyle'>样式切换</button>
    
    • vue实例
    	var app = new Vue({
    			el: '#app',
    			data:{
    				isActive: true 
    			},
    			methods:{
    				changeStyle:function(){
    					this.isActive=!this.isActive; //操作value的值
    				}
    			}
    		})
    
  • 相关阅读:
    我的友情链接
    我的友情链接
    Plasma Debit原理分析
    Plasma技术详解
    Plasma MVP完全解析
    简单介绍 Plasma
    MySQL从零到一解读增量同步数据到elasticsearch canal adapter方式(binlog)实现
    Oracle数据库备份和恢复配置详解
    python open()函数解析(最清晰的解释)
    这几道Python面试题,稳准狠,Python面试题No15
  • 原文地址:https://www.cnblogs.com/guojuboke/p/12322396.html
Copyright © 2011-2022 走看看