Home > Web Front-end > Vue.js > How to get class in vue.js

How to get class in vue.js

coldplay.xixi
Release: 2020-11-19 10:48:12
Original
7249 people have browsed it

Vue.js method to obtain class: 1. Use data binding, the code is [php Chinese website]; 2. Dynamically bind class, the code is [

How to get class in vue.js

vue.js method of obtaining class:

1. Data binding

vue instructions are marked with v- prefix. Data binding instructions v-bind: attribute name, abbreviated as: attribute name. A simple data binding example is as follows:

<a v-bind:href="http://www.php.com/">php中文网</a>
简写:
<a :href="http://www.php.com/">php中文网</a>
Copy after login

2 , the delimiter of dynamic binding class

vue is {{ }} by default. The string in the delimiter will be considered as a data variable, which can be passed class="{{ className }}" method to set class, but vue does not recommend mixing this method with v-bind:class method, you can only choose one of the two. Although v-bind:class cannot coexist with the method of binding variables in the class attribute, it can coexist with the native class feature. The native class and v-bind:class are allowed to appear at the same time in a DOM tag.

2.1 v-bind:class Supports string type. It is not recommended to use it because the string value is fixed and cannot dynamically change the class.

HTML代码:
<div :class=" &#39;classA classB&#39; ">Demo1</div>
渲染后的HTML:
<div class="classA classB">Demo1</div>
Copy after login

2.2 v-bind:class supports data variables. When the variable value changes, the class will be updated at the same time. v-bind:classThe value of the directive is limited to a binding expression, such as a javascript expression.

HTML代码:
<div :class="classA">Demo2</div>
Javascript代码:
data: {
  classA: &#39;class-a&#39;  //当classA改变时将更新class
}
渲染后的HTML:
<div class="class-a">Demo2</div>
Copy after login

The value written in the directive will be regarded as an expression, such as a javascript expression. Therefore v-bind:class accepts ternary operations:

HTML代码:
<div :class="classA ? &#39;class-a&#39; : &#39;class-b&#39; ">Demo3</div>
渲染后的HTML:
<div class="class-a">Demo3</div>
Copy after login

2.3 v-bind:class supports objects, and class will be dynamically updated when the object changes

HTML code:

<div :class="{ &#39;class-a&#39;: isA, &#39;class-b&#39;: isB}">Demo4</div>
Javascript代码:
data: {
  isA: false,  //当isA改变时,将更新class
  isB: true    //当isB改变时,将更新class
}
渲染后的HTML:
<div class="class-b">Demo4</div>
Copy after login
HTML代码:
<div :class="objectClass">Demo5</div>
Javascript代码:
data: {
  objectClass: {
    class-a: true,
    class-b: false
  }
}
渲染后的HTML:
<div class="class-a">Demo5</div>
Copy after login

2.4: v-bind:classSupports arrays. When the variables in the array change, the class list will be dynamically updated

HTML代码:
<div :class="[classA, classB]">Demo6</div>
Javascript代码:
data: {
  classA: &#39;class-a&#39;,
  classB: &#39;class-b&#39;
}
渲染后的HTML:
<div class="class-a class-b">Demo6</div>
Copy after login

The array can contain the object type. When the object object changes, the class list will also be updated

HTML代码:
<div :class="[classA, classB]">Demo7</div>
Javascript代码:
data: {
  classA: &#39;class-a&#39;,
  objectClass: {
    classB: &#39;class-b&#39;,  // classB 的值为class-b, 则将classB的值添加到class列表
    classC: false,    // classC值为false,将不添加classC
    classD: true    // classD 值为true,classC将被直接添加到class列表
}
}
渲染后的HTML:
<div class="class-a class-b classD">Demo7</div>
Copy after login

Related free learning recommendations: JavaScript (video)

The above is the detailed content of How to get class in vue.js. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template