Vue.js method to obtain class: 1. Use data binding, the code is [php Chinese website a>]; 2. Dynamically bind class, the code is [
De].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 login2 , 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 withv-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 andv-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=" 'classA classB' ">Demo1</div> 渲染后的HTML: <div class="classA classB">Demo1</div>Copy after login2.2 v-bind:class supports data variables. When the variable value changes, the class will be updated at the same time.
v-bind:class
The value of the directive is limited to a binding expression, such as a javascript expression.HTML代码: <div :class="classA">Demo2</div> Javascript代码: data: { classA: 'class-a' //当classA改变时将更新class } 渲染后的HTML: <div class="class-a">Demo2</div>Copy after loginThe 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 ? 'class-a' : 'class-b' ">Demo3</div> 渲染后的HTML: <div class="class-a">Demo3</div>Copy after login2.3 v-bind:class supports objects, and class will be dynamically updated when the object changes
HTML code:
<div :class="{ 'class-a': isA, 'class-b': isB}">Demo4</div> Javascript代码: data: { isA: false, //当isA改变时,将更新class isB: true //当isB改变时,将更新class } 渲染后的HTML: <div class="class-b">Demo4</div>Copy after loginHTML代码: <div :class="objectClass">Demo5</div> Javascript代码: data: { objectClass: { class-a: true, class-b: false } } 渲染后的HTML: <div class="class-a">Demo5</div>Copy after login2.4:
v-bind:class
Supports arrays. When the variables in the array change, the class list will be dynamically updatedHTML代码: <div :class="[classA, classB]">Demo6</div> Javascript代码: data: { classA: 'class-a', classB: 'class-b' } 渲染后的HTML: <div class="class-a class-b">Demo6</div>Copy after loginThe 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: 'class-a', objectClass: { classB: 'class-b', // 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 loginRelated 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!