• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Vue中Class和Style实现v-bind绑定的几种用法

vue 搞代码 4年前 (2022-01-08) 36次浏览 已收录 0个评论
文章目录[隐藏]

项目开发中给元素添加/删除 class 是非常常见的行为之一, 例如网站导航都会给选中项添加一个 active 类用来区别选与未选中的样式,那么在 vue 中 我们如何处理这类的效果呢?下面我们就一起来了解一下

项目开发中给元素添加/删除 class 是非常常见的行为之一, 例如网站导航都会给选中项添加一个 active 类用来区别选与未选中的样式,除了导航之外其他很多地方也都会用到这种方式处理选中与未选中。

除了设置 class 我们在项目中也经常设置元素的内联样式 style,在 jquery 时代我们大多数都是利用 addClass 与 removeClass 结合使用来处理 class 的添加/删除,利用 css() 方法设置/获取元素的内联样式。

那么在 vue 中 我们如何处理这类的效果呢?在 vue 中我们可以利用 v-bind 指令绑定我们的 class 与 style,接下来我们看看 vue 中给我们提供了哪些绑定它们的方式。

对象语法绑定 Class

Tab 页的切换是我们最常见的一个效果之一,如何让选中的标题高亮,常用的方式就是动态切换 class 。 

 <div id="app"> <div class="button-group"> <button>{{tab}}</button></div></div>

从例子中我们看到 active 这个 class 是否存在取决于后面的表达式是真值或者假值,当为真值时 active 类被添加到元素上否则没有。

我们不仅可以添加一个 class,我们还可以同时添加多个 class,并且还可以与原有的 class 共存。

 <button class="btn"></button>

渲染结果为:

 <button class="btn btn-primary active"></button>

我们也可以直接绑定一个数据对象

 <button class="btn"></button>

渲染结果与上面相同

 <button class="btn btn-primary active"></button>

除此之外,我们还可以使用计算属性去绑定元素的 class

 <button></button>

数组语法绑定 Class

Vue 中还支持我们给元素利用数组的方式添加 class,我们修改上面对象添加 class 的例子。

 <button class="btn"></button>

上面方式我们绑定了固定不变的,如果我们需要动态的切换 class 怎么办呢? 我们可以利用三元表达式或者在数组中使用对象语法。

 //三元表达式 <button></button> //数组中使用对象语法 <button></button>

对象语法绑定 Style

绑定内联样式时的对象语法,看起来非常像 css,但他其实是一个 Javascript 对象,我们可以使用驼峰式或者短横线分隔命名。

 <div> 对象语法 </div>

与 class 类似我们也可以使用数据对象的方式绑定。

 <div>对象语法</div>

数组语法绑定 Style

Vue 允许我们同时绑定多个样式对象作用于同一个对象上。

 <div>对象语法</div>

到此这篇关于Vue中Class和Style实现v-bind绑定的几种用法的文章就介绍到这了,更多相关Vue v-bind绑定用法内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Vue中Class和Style实现v-bind绑定的几种用法的详细内容,更多请关注gaoda

本文来源gao!%daima.com搞$代*!码网1

ima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Vue中Class和Style实现v-bind绑定的几种用法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址