加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Vue——class与style绑定——动态绑定class

(2018-02-13 18:03:32)
分类: VUE
操作元素的class列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,我们可以用v-bind处理它们,只需要通过表达式计算出字符串结果即可。不过字符串拼接麻烦且易出错,在将v-bind用于class和style时,vue做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
1、对象语法语法绑定class
http://s8/mw690/003xds7Kzy7le9a5FZRf7&690
在对象绑定class中,red值为true,blue值为false,如果值为true绑定成功false绑定失败,所以上例中给h2绑定了red(代表class=red)样式。
值为true或者false也可以读vue实例中的数据。
注意:v-bind:class指令可以与普通的class属性共存,最后渲染结果是两个class的合集
注意:绑定的数据对象不必内联定义在模板里。
2、计算属性绑定class
我们也可以在这里绑定一个返回对象的计算属性。这是一个常用且强大的模式。
http://s13/mw690/003xds7Kzy7leaKGwdm0c&690
在计算属性中我们可以返回样式对象,然后直接class中绑定计算属性,可以按钮操作改变各个样式的值。
http://s7/mw690/003xds7Kzy7iam7wj5kc6&690
3、数组语法绑定class
http://s13/mw690/003xds7Kzy7ianl1iY4bc&690
4、数组中绑定class也可以根据条件切换列表,可以用三元表达式
http://s2/mw690/003xds7Kzy7iarPtunf81&690
5、对象数组混合绑定class
当有多个条件class时,上面的写法有点繁琐,所以在数组语法中也可以使用对象语法。
http://s9/mw690/003xds7Kzy7iassVgKY98&690
6、用在组件上绑定class
当在一个自定义组件上使用class属性,或者带数据绑定class属性时,这些类将被添加到该组件的根元素上面。这个元素上已经存在的类不会被覆盖。
http://s5/mw690/003xds7Kzy7iat6GOVua4&690
7、对象语法绑定内联样式style
上面的px也可以放到data数据里。
注意:绑定的数据对象不必内联定义在模板里。可以直接绑定一个样式对象更好,这会让模板更清晰。
http://s6/mw690/003xds7Kzy7iauksZLf85&690
8、数组语法绑定内联样式style

0

阅读 收藏 喜欢 打印举报/Report
前一篇:Vue——组件2
后一篇:Vue——组件3
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有