Vue中使用 class 类样式的方法详情

 更新时间:2021年11月22日 09:22:06   作者:最爱喝怡宝  
这篇文章主要介的是 Vue中如何使用 class 类样式的方法,在vue中为我们提供了几种方式来使用class类的样式,分别是布尔值、表达式、多类封装、下面来看看文章的详细介绍内容吧,需要的朋友可以参考一下
在vue中为我们提供了 几种方式来使用class类的样式

1. 布尔值

我们先正常在 style 标签中 书写一个类名为 active的样式
<style>
        .active{
            color: red;
            font-size: 20px;
            font-style: normal;
        }
    </style>
在我们的 script 标签中创建一个 vm 实例,在实例的 data 数据中心写上 isActive:true
true 表示使用此样式,false 则表示不使用
<script src="js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                isActive:true
             }
       </script>
此时我们在 标签中 已v-bind指令 使用class
<div id="app">
        <h1 :class="{active:isActive}">我是使用布尔值引用class样式</h1>
    </div>
查看输出结果:
现在我们将true 改为 false:
data:{
   isActive: false
}
查看输出结果:

2.表达式

我们可以在 v-bind: 指令后添加表达式,当满足该条件时,调用该 class
举例,我们在数据中心 data 中有一个对象数组,把他渲染到视图层上,我想让 索引为 偶数的引用
class 类样式:
<body>
    
    <div id="app">
        <ul>
            <li v-for="(item,index) in list">{
<!-- -->{index}}----{
<!-- -->{item.name}}</li>
        </ul>
    </div>
    <script src="js/vue.js"></script>
    <script>
        let vm = new Vue({
            el:"#app",
            data:{
                list:[
                    {id:1,name:"金克斯"},
                    {id:2,name:"杰斯"},
                    {id:3,name:"凯特琳"},
                    {id:4,name:"蔚"},
                ]
            }
        })
    </script>
在 li 中使用属性绑定class类样式:
<li v-for="(item,index) in list" :class="{active: index%2 == 0}">
        {
<!-- -->{index}}----{
<!-- -->{item.name}}
</li>
输出结果为:
我们也可以在数据中心 定义 一个 mark,通过定义 mark 的值来做到让某一行 单独引用 class类
<li v-for="(item,index) in list" :class="{active: index === mark}">
        {
<!-- -->{index}}----{
<!-- -->{item.name}}
</li>
let vm = new Vue({
            el:"#app",
            data:{
                list:[
                    {id:1,name:"金克斯"},
                    {id:2,name:"杰斯"},
                    {id:3,name:"凯特琳"},
                    {id:4,name:"蔚"},
                ],
                mark:0
            }
        })
此时只有索引为 0 的 引用了样式,即第一个:

3.多类封装

多个类,可以直接封装到对象中,在视图层直接调用对象名即可!
多个类,可以将其放置在对象中,在视图层就是一个对象名称,在数据中心data中是一个对象,对象中罗列出多个类
<style>
        .f50{
            font-size: 50px;
        }
        .blue{
            color: blue;
        }
        .background{
            background-color: black;
        }
    </style>
<body>
 
   <div id="app">
         <p :class="classObject">中国人</p>
    </div>
</body>
let vm = new Vue({
            el:"#app",
            data:{
                classObject:{
                    "f50":true,
                    "blue":true,
                    "background":true
                }
            }
        })
输出结果为:
也可以在自定义计算属性,封装在函数中,在返回调用
let vm = new Vue({
            el:"#app",
            computed:{
         // 1. 自定义的计算属性名,
         // 2.计算属性做的事情,我们将其封装到函数中
                myclass(){
                    return {
                        "f50":true,
                        "blue":true,
                        "background":true
                    }
                }
            }
        })
<p :class="myclass">中国人</p>
输出结果一致

4.可以直接在 v-bind:中使用数组形式使用class类

.f50{
            font-size: 50px;
        }
        .blue{
            color: blue;
        }
        .background{
            background-color: black;
        }
<!-- 注意,class 名要加引号 -->
        <p :class="['f50','blue','background']">一周又一周</p>
输出结果:
到此这篇关于Vue中使用 class 类样式的方法详情的文章就介绍到这了,更多相关Vue中使用 class 类样式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue中v-for的数据分组实例

    Vue中v-for的数据分组实例

    下面小编就为大家分享一篇Vue中v-for的数据分组实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 关于vue中@click.native.prevent的说明

    关于vue中@click.native.prevent的说明

    这篇文章主要介绍了关于vue中@click.native.prevent的说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题

    解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题

    这篇文章主要介绍了解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue实现登录注册模板的示例代码

    vue实现登录注册模板的示例代码

    这篇文章主要介绍了vue实现登录注册模板的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Vuex中mutations与actions的区别详解

    Vuex中mutations与actions的区别详解

    下面小编就为大家分享一篇Vuex中mutations与actions的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue页面中使用getElementsByClassName无法获取元素的解决

    vue页面中使用getElementsByClassName无法获取元素的解决

    这篇文章主要介绍了vue页面中使用getElementsByClassName无法获取元素的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • tdesign vue初始化组件源码解析

    tdesign vue初始化组件源码解析

    这篇文章主要为大家介绍了tdesign vue初始化组件源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • vue中keep-alive,include的缓存问题

    vue中keep-alive,include的缓存问题

    这篇文章主要介绍了vue中keep-alive,include的缓存问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详解Vue3中对VDOM的改进

    详解Vue3中对VDOM的改进

    这篇文章主要介绍了详解Vue3中对VDOM的改进,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Vue之修改数据页面不更新的问题

    Vue之修改数据页面不更新的问题

    这篇文章主要介绍了Vue之修改数据页面不更新的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论