Vue动态样式绑定的方法是什么


本文小编为大家详细介绍“Vue动态样式绑定的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue动态样式绑定的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。 —- 官方定义通过v-bind指令给 DOM 元素动态绑定 Class 和 Style,一般用于根据不同数据状态切换元素样式的场景下。我们可以通过数组和对象的两种形式绑定元素的 Class。通过传给v-bind:class一个对象,以动态地切换 class:代码解释:上面的语法表示show这个 class 存在与否将取决于数据属性isShow是否为真值。具体示例:代码解释:HTML 代码第 2 行,我们给 div 绑定来样式,当 isHide 为真值时, 其渲染结果为

,否则


打开控制台,修改 vm.isHide 的值可以动态改变页面效果。此外,v-bind:class指令也可以与普通的 class 属性共存。语法:

当有如下模板:

和如下 data:

data:{
isShow:true,
hasError:false
}

结果渲染为:

代码解释:

isShow或者hasError变化时,class 列表将相应地更新。

例如,如果hasError的值为trueisShow的值为true,class 列表将变为"defaultClass show text-danger"

例如,如果hasError的值为trueisShow的值为false,class 列表将变为"defaultClass text-danger"

在之前介绍的案例中,我们将绑定的数据对象内联定义在模板里, 这样显得比较繁琐。其实,我们可以统一定义在一个c lassObject 中:

html>





Document
Hello!

结果渲染为:

代码解释:

HTML 代码中,我们首先给 div 一个固定样式 defaultClass, 然后通过 classObject 给 div 绑定样式。

JS 代码 第 6-9 行,我们定义了数据 classObject,它有两个属性:1. 属性 show,值为 true,2. 属性 text-danger,值为 false。所以,最后页面渲染的效果是:

1.3 利用计算属性绑定样式

我们也可以在这里绑定一个返回对象的 计算属性 。这是一个常用且强大的模式:

html>





Document

结果渲染为:

代码解释:

HTML 代码中,我们通过 classObject 给 div 绑定样式。

JS 代码 第 6-11 行,我们定义了计算属性 classObject,它返回一个对象,该对象有两个属性:1. 属性 show,值为 true,2. 属性 text-danger,值为 false。所以,最后页面渲染的效果是:

2 数组语法

我们可以把一个数组传给v-bind:class,以应用一个 class 列表:

html>





Document
Hello!

渲染为:

代码解释:

在 HTML 代码中,我们通过数组给 div 绑定样式,数组中有 classA 和 classB 两个值。

在 JS 代码第 6-7 行定义了 classA 和 classB 两个字符串,它的格式和元素 class 的格式相同,不同的样式类之间以空格相隔。

如果你也想根据条件切换列表中的 class,可以用三元表达式:

这样写将始终添加classB的样式,但是只有在isShow为真时才添加showClass

不过,当有多个条件 class 时这样写有些繁琐。所以在数组语法中也可以使用对象的形式来表达数组中的某一项:

代码解释:

在 HTML 中,div 绑定一个样式数组,数组第一项是一个对象表达式 { showClass: isShow }。当 isShow 为 true 时样式最终绑定为:

;当 isShow 为 false 时样式最终绑定为:

绑定内联样式

和 Class 的绑定一样,Style 的绑定同样可以通过数组和对象的两种形式。

1 对象语法

v-bind:style的对象语法十分直观——看着非常像 CSS,但免费云主机域名其实是一个 JavaScript 对象。CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:

html>





Document

渲染为:

代码解释:

在 HTML 代码中,我们给 div 绑定 background-color 和 width 两个内联样式,它们的值在 data 中定义。

在模板中写较为复杂的表达式语法显得比较繁琐,通常直接绑定到一个样式对象更好,这会让模板显得更加清晰:

html>





Document

渲染为:

代码解释:

在 HTML 代码中,我们给 div 绑定数据 styleObject,它们的值在 data 中定义。

2 数组语法

v-bind:style的数组语法可以将多个样式对象应用到同一个元素上:

html>





Document

渲染为:

读到这里,这篇“Vue动态样式绑定的方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

推荐阅读:
  1. spring cloud vue springboot 框架源码 activiti工作流 前后分离
  2. Springboot 项目源码 vue.js html 跨域 前后分离 websocket即时通讯

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@byun.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue

  • 上一篇新闻:

    Java注解入门案例代码分析
  • 下一篇新闻:

    PHP设计模式之解释器模式怎么实现

猜你喜欢

  • WebFlux 前置知识有哪些
  • Spring Security5.5支持OAuth2.0第五种授权模式是什么
  • Nacos客户端是如何在SpringCloud进行集成和实现的
  • 微前端架构的示例分析
  • 如何使用Loki监控SpringBoot应用
  • Sentinel流控规则的介绍
  • Spring中的配置怎么保证可扩展性
  • 应对高并发的方法有哪些
  • 如何用SpringCloud Alibaba实现业务日志组件
  • 如何用Asyncio协程构建高并发应用

当有如下模板:和如下 data:结果渲染为:代码解释:isShow或者hasError变化时,class 列表将相应地更新。例如,如果hasError的值为trueisShow的值为true,class 列表将变为"defaultClass show text-danger"。例如,如果hasError的值为trueisShow的值为false,class 列表将变为"defaultClass text-danger"。在之前介绍的案例中,我们将绑定的数据对象内联定义在模板里, 这样显得比较繁琐。其实,我们可以统一定义在一个c lassObject 中:结果渲染为:代码解释:HTML 代码中,我们首先给 div 一个固定样式 defaultClass, 然后通过 classObject 给 div 绑定样式。JS 代码 第 6-9 行,我们定义了数据 classObject,它有两个属性:1. 属性 show,值为 true,2. 属性 text-danger,值为 false。所以,最后页面渲染的效果是:

我们也可以在这里绑定一个返回对象的 计算属性 。这是一个常用且强大的模式:结果渲染为:代码解释:HTML 代码中,我们通过 classObject 给 div 绑定样式。JS 代码 第 6-11 行,我们定义了计算属性 classObject,它返回一个对象,该对象有两个属性:1. 属性 show,值为 true,2. 属性 text-danger,值为 false。所以,最后页面渲染的效果是:

我们可以把一个数组传给v-bind:class,以应用一个 class 列表:渲染为:代码解释:在 HTML 代码中,我们通过数组给 div 绑定样式,数组中有 classA 和 classB 两个值。在 JS 代码第 6-7 行定义了 classA 和 classB 两个字符串,它的格式和元素 class 的格式相同,不同的样式类之间以空格相隔。如果你也想根据条件切换列表中的 class,可以用三元表达式:这样写将始终添加classB的样式,但是只有在isShow为真时才添加showClass。不过,当有多个条件 class 时这样写有些繁琐。所以在数组语法中也可以使用对象的形式来表达数组中的某一项:代码解释:在 HTML 中,div 绑定一个样式数组,数组第一项是一个对象表达式 { showClass: isShow }。当 isShow 为 true 时样式最终绑定为:

;当 isShow 为 false 时样式最终绑定为:

;和 Class 的绑定一样,Style 的绑定同样可以通过数组和对象的两种形式。v-bind:style的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用引号括起来) 来命名:渲染为:代码解释:在 HTML 代码中,我们给 div 绑定 background-color 和 width 两个内联样式,它们的值在 data 中定义。在模板中写较为复杂的表达式语法显得比较繁琐,通常直接绑定到一个样式对象更好,这会让模板显得更加清晰:渲染为:代码解释:在 HTML 代码中,我们给 div 绑定数据 styleObject,它们的值在 data 中定义。v-bind:style的数组语法可以将多个样式对象应用到同一个元素上:渲染为:读到这里,这篇“Vue动态样式绑定的方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@byun.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

相关推荐: Go语言运算符与控制结构实例代码分析

这篇文章主要讲解了“Go语言运算符与控制结构实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言运算符与控制结构实例代码分析”吧!运算符的作用是将操作数组合成表达式,比如下面的代码中,我们通过赋值…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/16 14:49
Next 06/16 18:51

相关推荐