Heim > Web-Frontend > View.js > Hauptteil

vue如何动态绑定class?方法介绍

青灯夜游
Freigeben: 2020-11-03 17:59:03
nach vorne
4749 人浏览过

vue如何动态绑定class?方法介绍

Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据。

被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新。基于这种特性,通过vue.js动态绑定class就变得非常简单。

1. 数据绑定

vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下:

博客园首页
Nach dem Login kopieren

2. 动态绑定class

vue 的分隔符默认是 {{ }}, 在分隔符里面的字符串会被认为是数据变量,可以通过 class="{{ className }}" 方式设置class,但是vue不推荐这种方式与 v-bind:class 的方式混用,二者只能选其一。

v-bind:class 虽然与class属性里绑定变量的方式不能共存,却可以与原生的class特性共存, 一个DOM标签中允许同时出现原生class和v-bind:class。

2.1 v-bind:class 支持string类型,不建议这样使用,因为string值是固定不变的,无法实现动态改变class的需求

HTML代码:
Demo1
渲染后的HTML:
Nach dem Login kopieren

2.2 v-bind:class 支持数据变量,当变量值改变时,将同时更新class。v-bind:class指令的值限定为绑定表达式,如javascript表达式

HTML代码:

Demo2
Nach dem Login kopieren

Javascript代码:

data: {
  classA: 'class-a'  //当classA改变时将更新class
}
Nach dem Login kopieren

渲染后的HTML:

Demo2
Nach dem Login kopieren

写在指令中的值会被视作表达式,如javascript表达式,因此v-bind:class接受三目运算:

HTML代码:

Demo3
Nach dem Login kopieren

渲染后的HTML:

Demo3
Nach dem Login kopieren

2.3 v-bind:class 支持对象,对象改变时会动态更新class

HTML代码:

Demo4
Nach dem Login kopieren

Javascript代码:

data: {
  isA: false,  //当isA改变时,将更新class
  isB: true    //当isB改变时,将更新class
}
Nach dem Login kopieren

渲染后的HTML:

Demo4
Nach dem Login kopieren

HTML代码:

Demo5
Nach dem Login kopieren

Javascript代码:

data: {
  objectClass: {
    class-a: true,
    class-b: false
  }
}
Nach dem Login kopieren

渲染后的HTML:

Demo5
Nach dem Login kopieren

2.4: v-bind:class支持数组, 数组里的变量改变时,会动态更新class列表

HTML代码:

Demo6
Nach dem Login kopieren

Javascript代码:

data: {
  classA: 'class-a',
  classB: 'class-b'
}
Nach dem Login kopieren

渲染后的HTML:

Demo6
Nach dem Login kopieren

数组中可以包含object类型,数组中的object对象改变,也会更新class列表

HTML代码:

Demo7
Nach dem Login kopieren

Javascript代码:

data: {
  classA: 'class-a',
  objectClass: {
    classB: 'class-b',  // classB 的值为class-b, 则将classB的值添加到class列表
    classC: false,    // classC值为false,将不添加classC
    classD: true    // classD 值为true,classC将被直接添加到class列表
}
}
Nach dem Login kopieren

渲染后的HTML:

Demo7
Nach dem Login kopieren

相关推荐:

2020年前端vue面试题大汇总(附答案)

vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程教学!!

以上是vue如何动态绑定class?方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
vue
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!