Vue的Class与Style绑定的方法

发布时间 - 2026-01-11 03:04:20    点击率:

本文介绍了Vue的Class与Style绑定,分享给大家,具体如下:

绑定 HTML Class

对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class:

<style>
  .exp{
    border: 1px solid #ccc;
  }
  .forExp{
    background: blue;
  }
</style>
<div class="exp" v-bind:class="{newExp:isNewExp}"></div>
<script>
  var exp=new Vue({
    el:".exp".
    data:{
      isForExp:false
    }
  })
</script>

如上,我们先给 .exp 一个边框,我们利用 v-bind 方法传入一个新的 class 属性 .newExp,设置一个蓝色的背景颜色。当我们在控制台修改 .newExp 的属性为 true 时,会给 div 添加一个蓝色的背景颜色。

我们也可以传入更多的属性来切换多个 class 。

<div class="exp" v-bind:class="{newExp:isExp,npc:isNpc}"></div>
<script>
  data:{
    isExp:false,
    isNpc:true
  }
</script>

在模板里的渲染结果为:

<div class="exp isNpc"></div>

我们也可以使用对象的方法来切换属性

<div class="exp" v-bind:class="obj"></div>
<script>
  data:{
    obj:{
      newExp:false,
      npc:true
    }
  }
</script>

渲染结果和上面的一样

数组语法

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

<div class="exp" v-bind:class="[newExp,oldExp]"></div>
<script>
  data:{
    newExp:"new",
    oldExp:"old"
  }
</script>

渲染为:

<div class="exp new old"></div>

要切换class,使用三元运算符:

<div class="exp" v-bind:class="[act? newExp:oldExp]"></div>
<script>
  data{
    newExp:"new",
    oldExp:"old",
    act:true
  }
<script>

act 为 true 时,添加 new ,为 false 时添加 old。

用在组件上

声明一个组件:

Vue.component("my", {
  template: '<p class="foo bar">Hi</p>'
})

然后在使用它的时候添加一些 class:

<my class="tip"></my>

最终渲染为

<p class="foo bar tip">Hi</p>

同样的适用于绑定 HTML class:

<my v-bind:class="{ active: isActive }"></my>

当active为true时,HTML 将被渲染成为:

<p class="foo bar active">Hi</p>

绑定内联样式

对象语法

v-bind:style 的对象语法十分直观——看着非常像 CSS,其实它是一个 JavaScript 对象。 CSS 属性名可以用驼峰式 (camelCase) 或 (配合引号的) 短横分隔命名 (kebab-case):

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
<script>
  data:{
    activeColor:"blue",
    fontSize:20
  }
</script>

使用对象语法的话,会看起来更加清晰

<div v-bind:style="obj"></div>
<script>
  data:{
    obj:{
      color:"#FFF",
      fontSize:"20px"
    }
  }
</script>

数组语法

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

<div v-bind:style="[style1,style2]"></div>
<script>
  data:{
    style1:{
      color:"#666"
    },
    style2:{
      background:"#b1b1b1"
    }
  }
</script>

自动添加前缀

当 v-bind:style 使用需要特定前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。

Chrome 和 Safari : -webkit-
IE :        -ms-
Firfox :      -moz-
Opera :      -o-

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


# vue.js  # 添加class  # vue绑定style  # class  # 详解vue.js之绑定class和style的示例代码  # vue.js绑定class和style样式(6)  # 学习vue.js中class与style绑定  # vue.js学习笔记之绑定style样式和class列表  # vue.js入门教程之绑定class和style样式  # 绑定  # 多个  # 我们可以  # 看着  # 可以用  # 适用于  # 它是  # 给大家  # 将被  # 可以使用  # 当我们  # 会给  # 用在  # 方法来  # 大家多多  # 先给  # 运算符  # background  # div  # blue 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  LinuxCD持续部署教程_自动发布与回滚机制  微信小程序 闭包写法详细介绍  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  jQuery validate插件功能与用法详解  如何利用DOS批处理实现定时关机操作详解  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  历史网站制作软件,华为如何找回被删除的网站?  微信小程序 wx.uploadFile无法上传解决办法  JavaScript模板引擎Template.js使用详解  想要更高端的建设网站,这些原则一定要坚持!  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  EditPlus 正则表达式 实战(3)  在线制作视频网站免费,都有哪些好的动漫网站?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  javascript日期怎么处理_如何格式化输出  详解Oracle修改字段类型方法总结  EditPlus中的正则表达式 实战(1)  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  详解vue.js组件化开发实践  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  html如何与html链接_实现多个HTML页面互相链接【互相】  bing浏览器学术搜索入口_bing学术文献检索地址  如何实现建站之星域名转发设置?  JavaScript如何实现继承_有哪些常用方法  Laravel怎么在Blade中安全地输出原始HTML内容  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  Python文件流缓冲机制_IO性能解析【教程】  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何用AWS免费套餐快速搭建高效网站?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  在Oracle关闭情况下如何修改spfile的参数  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何快速选择适合个人网站的云服务器配置?