vue绑定class与行间样式style详解
时间:2022-01-10 15:17:42|栏目:vue|点击: 次
一、绑定class属性的方式
1、通过数组的方式,为元素绑定多个class
<style> .red { color:red; /*color:#ff8800;*/ } .bg { background: #000; /*background: green;*/ } </style> window.onload = function(){ var c = new Vue({ el : '#box', data : { red_color : 'red', bg_color : 'bg' } }); } <div id="box"> <span :class="[red_color,bg_color]">this is a test string</span> </div>
上例为span 绑定2个class,通过设定red_color和bg_color的值,找到对应的class类名
2、通过控制class的true或者false,来使用对应的class类名, true: 使用该class, false: 不使用该class
<style> .red { color:red; } .bg { background: #000; } </style> window.onload = function(){ var c = new Vue({ el : '#box', data : { } }); } <div id="box"> <span :class="{red:true,bg:true}">this is a test string</span> </div>
3、这种方式,跟第二种差不多,只不过是把class的状态true/false用变量来代替
<style> .red { color:red; } .bg { background: #000; } </style> window.onload = function(){ var c = new Vue({ el : '#box', data : { r : true, b : false } }); } <div id="box"> <span :class="{red:r,bg:b}">this is a test string</span> </div>
4、为class属性绑定整个json对象
<style> .red { color:red; } .bg { background: #000; } </style> window.onload = function(){ var c = new Vue({ el : '#box', data : { json : { red : true, bg : false } } }); } <div id="box"> <span :class="json">this is a test string</span> </div>
二、绑定style行间样式的多种方式
1、使用json格式,直接在行间写
window.onload = function(){ var c = new Vue({ el : '#box', }); } <div id="box"> <span :style="{color:'red',background:'#000'}">this is a test string</span> </div>
2、把data中的对象,作为数组的某一项,绑定到style
window.onload = function(){ var c = new Vue({ el : '#box', data : { c : { color : 'green' } } }); } <div id="box"> <span :style="[c]">this is a test string</span> </div>
3、跟上面的方式差不多,只不过是为数组设置了多个对象
window.onload = function(){ var c = new Vue({ el : '#box', data : { c : { color : 'green' }, b : { background : '#ff8800' } } }); }
<div id="box"> <span :style="[c,b]">this is a test string</span> </div>
4、直接把data中的某个对象,绑定到style
window.onload = function(){ var c = new Vue({ el : '#box', data : { a : { color:'yellow', background : '#000' } } }); }
<div id="box"> <span :style="a">this is a test string</span> </div>
栏 目:vue
本文地址:http://www.codeinn.net/misctech/189692.html