首页 > 其他分享 >【vue3入门】-【13】class绑定

【vue3入门】-【13】class绑定

时间:2024-04-25 21:14:54浏览次数:16  
标签:13 danger 样式 绑定 数组 vue3 active class

class绑定

数据绑定的一个常见需求场景是操纵元素的CSS class列表,因为class是Attribute,我们可以和其他Attribute一样使用v-bind将它们动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且易出错的。因此,vue专门为class和v-bind用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是对象或数组。

  • 绑定对象

  • 多个对象绑定

  • 绑定数组

<template>
    <h3>class绑定</h3>
    <p :class="myclass">class样式绑定</p>
    <!--样式绑定-绑定对象,对象的值决定了样式是否显示,如active:true则代表要展示active属性-->
    <p :class="{ 'active': isactive, 'danger': hasError }">class样式绑定1</p>
    <!--样式绑定-多个对象绑定--->
    <p :class="classObject">class样式绑定2</p>
    <!--样式绑定-绑定数组-->
    <p :class="[arrActive,arrHasError]">class样式绑定3</p>
</template>
<script>
export default {
    data() {
        return {
            myclass: "demo",
            isactive: true,
            hasError: false,
            classObject: {
                active: true,
                danger: true
            },
            arrActive: "active",
            arrHasError:"danger"

        }
    }
}
</script>
<style>
.active {
    font-size: 30px;
}
.danger {
    color: blue;
}
</style>
  • 三元表达式

如果想在数组中有条件的渲染某个class,可以使用三元表达式

<template>
    <h3>class绑定</h3>
    <!--三元表达式数组, 如下isactice为true则展示active的样式,否则展示danger的样式-->
    <p :class="[isactive ? 'active' : 'danger']">class样式绑定4</p>
    <!--isactive为真时,同时展示actice和danger的样式,否则不展示样式-->
    <p :class="[isactive ? 'active danger' : '']">class样式绑定4</p>
</template>
<script>
export default {
    data() {
        return {
            isactive: false,
        }
    }
}
</script>
<style>
.active {
    font-size: 30px;
}
.danger {
    color: blue;
}
</style>
  • 数组和对象同时使用

温馨提示

数组和对象嵌套过程中,只能是数组嵌套对象,不能反其道而行

<template>
    <h3>class绑定</h3>
    <!--数组和对象同时使用-->
    <p :class="[isactive ? 'active' : '', { 'danger': hasError }]">class样式绑定5</p>
</template>
<script>
export default {
    data() {
        return {
            isactive: false,
            hasError: true,
        }
    }
}
</script>

<style>
.active {
    font-size: 30px;
}
.danger {
    color: blue;
}
</style>

以上内容出自
【【2023最新版】Vue3从入门到精通,零基础小白也能听得懂,写得出,web前端快速入门教程】 https://www.bilibili.com/video/BV1Rs4y127j8/?share_source=copy_web&vd_source=94c3d5330a46438059359e8dd2494fe9

标签:13,danger,样式,绑定,数组,vue3,active,class
From: https://www.cnblogs.com/T-Ajie/p/18158588

相关文章

  • 【vue3入门】-【15】侦听器
    侦听器我们可以使用watch选项在每次响应式属性发生变化时触发一个函数<template><h3>侦听器</h3><!--不可以被监听,是固定的数据--><p>{{message}}</p><!--可以被监听,只能监听响应式数据(变化的数据)--><button@click="updateHandle">修改数据</button>&l......
  • 【vue3入门】-【14】style绑定
    style绑定数据绑定的一个常见需求场景式操作元素的cssstyle列表,因为style是一个Attribute,我们可以和其他Attribute一样使用v-bind,将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生成字符串是麻烦且容易出错的。因此,vue专门为style的v-bind用法提供了特殊的功能......
  • 【vue3入门】-【16】表单输入绑定
    表单输入绑定在前端处理表单时,我们常常需要将表单输入框的内容同步给JavaScript中相应的变量。手动连接值绑定和更改事件监听器可能会比较麻烦,v-model指令帮我们简化了这一步骤。<template><h3>表单输入绑定</h3><form><!--v-model:在页面中输入信息的同时,下......
  • 【vue3入门】-【18】组件组成
    组件组成组件最大的优势就是可复用性当使用构建步骤是,我们一般将vue组件定义在一个单独的.vue文件中,这杯叫做单文件组件(简称SFC)组件组成结构<!--承载所有的html标签,组件中必须要有的部分--><template> <div>承载标签</div></template><!--承载所有的业务逻辑,组件中可选......
  • 【vue3入门】-【17】模版引用
    模版引用虽然Vue的声明性渲染模型抽象了大部分的DOM的直接操作,但在某些情况下,我们仍然需要直接访问底层DOM元素。要实现这一点,我们可以使用特殊的refattribute挂载结束后引用都会被暴露在this.$refs只上,从this.$refs中按照js原生方法获取元素属性或变更元素属性<template>......
  • 【vue3入门】-【19】组件嵌套关系
    组件嵌套关系组件允许我们将UI划分为独立的,可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被阻止成层层嵌套的树状结构这和我们嵌套HTML元素的方式类似,Vue实现了自己的组件模型,使我们可以在每个组件内封装自定义内容和逻辑APP.vue<template><!--主......
  • 【vue3入门】-【5】属性绑定
    属性绑定双大括号不能在htmlattributes中使用。想要响应的绑定一个attribute,应该使用v-bind指令<script>exportdefault{data(){return{msg:"active",myid:"test-id"}}}</script><template><divclass="{{msg}......
  • 【vue3入门】-【6】条件渲染
    条件渲染在vue中,提供了条件渲染,这类似于javascript中的条件语句v-ifv-elsev-else-ifv-showv-if指令用于条件性的渲染一块内容,这块内容只会在指令的表达式返回真值时才会渲染。v-else指令则在前面的if指令都不满足时则执行的指令<template><div>条件渲染</div><......
  • 【vue3入门】-【7】列表渲染
    列表渲染v-for列表渲染可以使用一个v-for指令基于一个数组来渲染一个列表,v-for指令的值需要使用iteminitems形式的特殊语法,其中items是源数据的数组,而item是迭代项的别名,item是可以改名的,和{{}}内的名称保持一致就行,结合div或其他标签使用,可以获取列表内的多个属性值v-fo......
  • 【vue3入门】-【8】事件处理
    事件处理我们可以使用v-on指令(简写为@)来监听DOM事件,并在事件触发时,执行对应的javascript。用法v-on:click="methodName"或者@click="handler"事件处理器的值可以是:内联事件处理器:事件被触发时执行的内联JavaScript语句(与onclick类似)方法事件处理器:一个指向组件上顶一个方法的......