php Chinese website]; 2. Dynamic binding class, the code is [
De]."/> php Chinese website]; 2. Dynamic binding class, the code is [
De].">

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

How to get class in vue.js

coldplay.xixi
coldplay.xixiOriginal
2020-11-19 10:48:127116browse

Vue.js method to obtain class: 1. Use data binding, the code is [5102c642b2617b1455b25a8a79a95ccephp Chinese website4a11e5928b3688cf38c9163b657eb5ac]; 2. Dynamically bind class, the code is [00c00d88e3e2a473e6e9dae4ddf1a5e7De].

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>

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>

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>

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>

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>
HTML代码:
<div :class="objectClass">Demo5</div>
Javascript代码:
data: {
  objectClass: {
    class-a: true,
    class-b: false
  }
}
渲染后的HTML:
<div class="class-a">Demo5</div>

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>

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>

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!

Statement:
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