vue中如何动态添加样式

 更新时间:2023年06月05日 10:19:25   作者:熬夜的卡多希  
这篇文章主要介绍了vue中如何动态添加样式问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue动态添加样式

vue实现点击切换改变样式

html代码:根据数据动态循环一个列表

<ul>
    <li class="box" v-for="(list,index) in dataList" :key="index" :class="{'bor':clicked==index}" @click="changeTab(index)">{{list}}</li>
</ul>

js代码:

export default {
    data(){
        return{
            dataList:["选项1","选项2","选项3","选项4","选项5","选项6"],
            clicked:0   //标识,初始化默认选中第一项
        }
    },
    methods:{
        changeTab(index){
            this.clicked = index;
        }
    }
}

css样式,点击选中添加黑色边框

.bor{
   border:2px solid black;
}

效果:

这里写图片描述

vue常用指令以及动态添加样式

vue常用指令

Vue的指令是以v-开头的,作用于页面中的元素,所以需要将指令绑定与元素中,从而达到给绑定的元素添加行为的目的。

​ 语法:<元素标签 v-指令 = “表达式”>

1.v-text

用于更新标签包含的文本,它的作用跟双大括号效果是一样的。

2.v-html指令

绑定一些包含html代码的数据在视图上,例如< strong >Daisy</ strong>,这个字符包含了< strong>标签,要想< strong>不被当做普通的字符串渲染出来,发挥< strong>应有的效果,我们就得使用v-html指令 。

3.v-show

指令的取值为true/false,分别对应着显示/隐藏,例如下面这段代码,show1会被显示出来,show2会被隐藏。

4.v-if指令

取值为true/false,控制元素是否需要被渲染,例如下面代码,设置为true的

标签成功渲染出来,而设置为false的,

标签被一行注释代替了,并没有被解析渲染出来。

v-show和v-if的区别: v-if是判断是否有DOM节点, v-show是判断节点是否显示隐藏,如果需要频繁切换显示/隐藏的可以用v-show;如果运行后不太可能需要切换显示/隐藏的可以用v-if

5.v-else指令

和v-if指令搭配使用,没有对应的值。当v-if的值false,v-else才会被渲染出来。

如下图代码所示:

6.v-for指令

遍历data中存放的数组数据,实现列表的渲染。(v-for指令除了可以迭代数组,还可以迭代对象和整数)

7.v-bind指令

用于动态绑定DOM元素的属性;例如 标签的href属性,< img>标签的src属性等。v-bind可以简写成“:”

8.v-on指令

可以绑定事件的监听器。通过v-on指令修饰click点击事件,指定事件响应后的处理函数为methods中的say()方法,可简写成@ 如下所示:

9.v-model指令

用于表单输入,实现表单控件和数据的双向绑定。

只要给input控件添加v-model指令,并指定关联的数据content,就可以轻松把用户输入的内容绑定在content上。

动态添加样式

动态添加可以采用:class 也可以采用:style

1. :class方式

2. :style方式

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解element-ui级联菜单(城市三级联动菜单)和回显问题

    详解element-ui级联菜单(城市三级联动菜单)和回显问题

    这篇文章主要介绍了详解element-ui级联菜单(城市三级联动菜单)和回显问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 解决父子组件通信的三种Vue插槽

    解决父子组件通信的三种Vue插槽

    这篇文章主要为大家介绍了Vue插槽解决父子组件通信,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • vue中解决微信html5原生ios虚拟键返回不刷新问题

    vue中解决微信html5原生ios虚拟键返回不刷新问题

    这篇文章主要介绍了vue中解决微信html5原生ios虚拟键返回不刷新问题,本文给大家分享解决方法,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • vue.js全局组件和局部组件示例代码

    vue.js全局组件和局部组件示例代码

    组件是Vue.js的最核心的功能,所谓的组件化就是把页面拆分成多个组件,每个组件单独使用CSS,JS,模板,图片等资源进行开发与维护,然后在制作网页的时候根据需要调用相关的组件,这篇文章主要给大家介绍了关于vue.js全局组件和局部组件的相关资料,需要的朋友可以参考下
    2022-12-12
  • el-form-item中表单项label和表单项内容换行实现方法

    el-form-item中表单项label和表单项内容换行实现方法

    这篇文章主要给大家介绍了el-form-item中表单项label和表单项内容换行实现的相关资料,每个表单el-form由多个表单域el-form-item组成,需要的朋友可以参考下
    2023-09-09
  • vue-drag-chart 拖动/缩放图表组件的实例代码

    vue-drag-chart 拖动/缩放图表组件的实例代码

    这篇文章主要介绍了vue-drag-chart 拖动/缩放的图表组件的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Vue编译器解析compile源码解析

    Vue编译器解析compile源码解析

    这篇文章主要为大家介绍了Vue编译器解析compile源码解析示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue引入axios同源跨域问题

    vue引入axios同源跨域问题

    这篇文章主要介绍了vue引入axios同源跨域问题,文章给大家提供了解决方案,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • elementui使用el-upload组件如何实现自定义上传

    elementui使用el-upload组件如何实现自定义上传

    这篇文章主要介绍了elementui使用el-upload组件如何实现自定义上传,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue3+Vite项目使用less的实现步骤

    Vue3+Vite项目使用less的实现步骤

    最近学习在vite项目中配置less,本文主要介绍了Vue3+Vite项目使用less的实现步骤,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02

最新评论