本文会详细介绍 vue动态 class的写法,并且提供一些我个人的理解,希望对你有所帮助。 如果你是一个新手,或者想了解 vue的源码,那么首先应该学习 vue的基础知识,比如:什么是静态语言,有什么作用等等。这里需要强调一点:不是说静态语言不好,只是对于初学者来说,从基础开始学起才是最好的。 当你了解了 vue的基础知识之后,就可以开始学习 vue中的动态 class了。先解释一下什么是动态 class: 在 vue中动态 class相当于一种特殊的函数,它可以作为函数使用(就像变量一样),并且它不会被赋值给其他的实例对象。 你可以将其理解为一个函数指针。我们可以通过使用 vue来创建一个 class对象来调用这个函数。只要使用了 vue中的静态语言,就可以创建一个静态 class对象。 下面是一个简单的例子: 我们可以看到创建了一个 class对象(如图)。 在这里你可以创建一个名为“dependencies”的实例,在这里我们可以使用 static修饰符来创建一个“static”类型的实例。 然后在这里我们还需要定义几个类: 在这里你可以使用 static修饰符来添加属性。
-
一、属性
在这个例子中,我们需要将属性名为“body”,并且将值设置为“add”。当然我们也可以使用一个参数来代替,但是我们可以使用 ref来代替这个参数。下面是两个示例代码: 接下来,我们来解释一下这两个属性的作用: body是一个容器(容器可以理解为函数的调用对象),它包含了很多数据元素。add是一个函数,它会调用一个方法“getClass”来获取一个元素的引用,然后将这个引用传递给 body对象。 body对象是一个变量,它有两种类型: values和 valuees。values是一个布尔值(布尔值用于判断两个元素是否是同一种类型),而 valuees则是一个常量(常量用于存储元素的值)。 其中: values ()函数会将其返回值赋值给 body对象,然后将其传递给 body对象。而 valuees ()函数则会返回一个布尔值。也就是说,这两个属性的作用是不同的: body对象只有两种类型:布尔值和常量(常量用于判断两个元素是否是同一种类型)。在上面的例子中,我们创建了两个属性: 这里需要注意的是:虽然在上面的例子中我们使用了 function ()函数来计算布尔值和常量,但是并不是所有的函数都可以这样写。例如:下面这个例子就不能使用 function ()函数来计算布尔值和常量了。如果你想要在这个例子中使用 function ()函数来计算布尔值和常量,那么你需要将 function ()函数放在一个函数参数的前面:
-
二、属性的实例化
当我们创建了一个新的 class对象后,我们就可以给该对象赋值了,如果你的属性值是一个整数或者字符串,那么你可以将其直接赋值给变量,如果是字符串则可以赋值给字符串变量。 举个例子:你需要将 class对象中的属性赋值给“submit”类型的变量。 这样写虽然很简单,但是可能会让别人看不懂,因为它们不知道这个“submit”的作用。 其实这个很简单:就像上面所说的一样,我们在代码中添加一个函数,然后将其初始化为0,这样就可以了。 如果你使用了“submit”函数来进行赋值的话,那么该函数会被调用。函数会将该属性的值赋值给它。这里需要注意的是:因为函数没有返回值,所以你无法知道这个函数是否已经执行完了。 在这种情况下,我们可以使用另一个参数来进行测试: 这样做的好处是我们可以确定该函数是否已经执行完了,因为当你在代码中创建“submit”类型的变量时,它会自动将该变量初始化为0。 你还可以通过修改这个变量来查看该变量是否已经执行完了。 最后,你还可以使用“return”函数来结束这个函数。
-
1、使用v-mount方法来调用函数
当我们创建了一个新的 class对象后,我们就可以使用v-mount方法来调用该函数了。首先我们需要定义一个变量来作为该函数的参数,然后我们可以通过下面的代码来查看: 上面的代码是将“submit”类型的变量定义为v-mount类型,并将其初始化为0,最后将这个变量赋值给了“submit”类型的变量。 上面的代码是一个简单的静态方法,因为它使用了一个虚拟对象作为参数。但这样做有两个缺点: 首先,因为我们使用了一个虚拟对象作为参数,所以我们无法知道这个对象是否已经被调用了。举个例子:如果这个虚拟对象没有被调用,那么该函数将永远无法执行下去。 其次,如果我们想要修改该虚拟对象的属性值的话,我们需要使用另一个虚拟对象来进行测试。这会使代码变得非常混乱,因为你不知道那个虚拟对象是否已经被调用了。举个例子: 然后将其初始化为0,最后使用v-mount方法来调用函数。
-
2、使用 return来结束函数
这是一个很简单的操作,但是它仍然能够让你明白这个函数已经执行完了。现在我们来看看这个函数在什么时候被调用,它将如何结束。 使用“return”来结束一个函数是非常简单的,因为“return”本身就是一个函数,它可以让你在函数执行完之后立即返回结果。 另外,使用“return”来结束一个函数时,它还可以让你检查一下这个函数是否已经执行完了。 因为如果你使用了“return”来结束一个函数的话,那么这个函数在执行完毕之后,它将会被默认关闭。 你可以通过如下代码来查看一下这个函数是否已经被关闭了: 如果你还想知道更多有关如何使用“return”来结束一个函数的信息的话,那么你可以在代码中添加这样一行代码: 相反地,它会被默认关闭。
-
-
三、调用
当我们使用 vue来编写我们的动态 class时,我们就可以使用函数来调用动态 class。函数有三个参数,分别是: 函数名:用来告诉编译器我们想要调用哪个动态 class。 可以使用空格或逗号来分隔。 接下来我们通过一个简单的例子来说明一下具体如何写 vue中的动态 class。在上面的例子中,我们想要使用一个函数来调用一个静态 class (dependencies),所以在代码中有如下的语句: 然后在函数的返回值中,使用了空格来分隔了返回值类型(dependencies):
常用的vue动态class代码:
1. 根据条件动态添加class:
```
<template>
<div :class="{ 'active': isActive }"></div>
</template>
<script>
export default {
data() {
return {
isActive: true
}
}
}
</script>
```
2. 根据数组动态添加class:
```
<template>
<div :class="['btn', btnType]"></div>
</template>
<script>
export default {
data() {
return {
btnType: 'primary'
}
}
}
</script>
```
3. 根据对象动态添加多个class:
```
<template>
<div :class="classObject"></div>
</template>
<script>
export default {
data() {
return {
classObject: {
'btn': true,
'btn-primary': true,
'disabled': false
}
}
}
}
</script>
```