≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

Vue 样式绑定的实现方法

人气:583 时间:2019-04-16

这篇文章主要为大家详细介绍了Vue 样式绑定的实现方法,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

学习 Vue 的时候觉得样式绑定很简单,但是使用的时候总是容易搞晕自己。因为 :class 和 :style 里的数组语法和对象语法和 data 里绑定的值是不太一样的。这篇文章就简单对 Vue 绑定做个总结。

操作元素的class列表和内联样式是数据绑定的一个常见需求,因为它们都是属性,所以可用v-bind处理,通过表达式计算出字符串结果即可。不过字符串拼接麻烦且易错。因此,在将v-bind用于class和style时,Vue做了专门增强,表达式结果类型除了字符串之外,还可是对象或数组。

  • Class绑定
  • Style绑定

 

绑定Class

 

 

 

对象语法

 

 

data 里的属性是负责 toggle 是否要这个 class,也就是一般定义 Boolean 类型的值。

代码如下:



<div :class="{ active: isActive, 'text-danger': hasError }"></div>

这里用 isActive 和 hasError 定义是否需要 active 和 text-danger 类。

代码如下:



data: {
 isActive: true,
 hasError: false
}

渲染为

代码如下:



<div class="active"></div>

 

数组语法

 

 

data 里负责定义 CSS 类名。

代码如下:



<div :class="[activeClass, errorClass]"></div>

这里定义了 activeClass 和 errorClass 的 CSS 类名是 active 和 text-danger。

代码如下:



data: {
 activeClass: 'active',
 errorClass: 'text-danger'
}

渲染为

代码如下:



<div class="active text-danger"></div>

 

混合写法

 

 

可以用混合的形式来绑定 class,即数组语法里写对象语法。所以 data 里的数据主要用于:

  1. 是否需要某个 class
  2. 定义 "class" 里面的类名

代码如下:



<div :class="[{ active: isActive }, errorClass]"></div>

这里定义了 errorClass 的 CSS 类名为 text-danger,并用 isActive 定义是否需要 active 类。

代码如下:



data: {
 errorClass: 'text-danger',
 isActive: true
}

渲染为

代码如下:



<div class="active text-danger"></div>

 

绑定Style

 

 

对象语法

 

 

data 里的属性是定义 style 里的值。与 class 不一样,class 是定义是否要这个 class的。

代码如下:



<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

这里定义了 style 里的 color 和 font-size 的值。

代码如下:



data: {
 activeColor: 'red',
 fontSize: 30
}

渲染为

代码如下:



<div style="color: red; font-size: 30px"></div>

 

数组语法

 

可以绑定多个样式对象到 style 上

代码如下:



<div :style="[baseStyles, overridingStyles]"></div>

这里在 data 里用 styleObject 定义了 color 和 font-size,再用 overridingStyles 定义了 background 和 margin。然后在组件里用数组进行混合绑定。

代码如下:



data: {
 styleObject: {
  color: 'red',
  fontSize: '13px'
 },
 overridingStyles: {
  background: 'green',
  margin: '13px'
 }
}

渲染为

代码如下:



<div style="color: red; font-size: 13px; background: green; margin: 13px;"></div>

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。

本文来自:http://www.q1010.com/184/7049-0.html

注:关于Vue 样式绑定的实现方法的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • vue项目中使用vue-i18n报错的解决方法
  • element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
  • 在vue使用clipboard.js进行一键复制文本的实现示例
  • Vue2 添加数据可视化支持的方法步骤
  • VeeValidate 的使用场景以及配置分析
  • 分析vue-cli 2.0配置文件(小结)
  • vue-cli2 构建速度优化的实现方法
  • vue实现压缩图片预览并上传功能(promise封装)
  • 从vue源码看props的用法
  • vue-cli 目录结构详细讲解总结
上一篇:vue-cli中vue本地实现跨域调试接口
下一篇:vue-cli 目录结构详细讲解总结
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。