vue实现点击后动态添加class及删除同级class

vue实现点击后动态添加class及删除同级class,第1张

解决办法是:将代码中的

:class="{

'step-bar': statuscode == projectattributesstatus,

'next': statuscode > projectattributesstatus

}"

部分,先判断下projectattributes是否存在,代码如下:

:class="{

'step-bar': projectattributes && statuscode == projectattributesstatus,

'next': projectattributes && statuscode > projectattributesstatus

}"

这样如果projectattributes不存在则直接返回false,由于&&运算符的截断,所以不会运行含有projectattributesstatus的代码,也就不会触发错误。

使用id来识别唯一的元素是合理的,但是用class更好,因为class可以用来指定一组元素,而id只能指定一个元素。在Vue中,使用class更方便,可以使用绑定的class来管理元素的样式,而使用id则没有这种灵活性。因此,在Vue中,最好使用class而不用id。

        绑定样式有三种方式:

            首先我们先定义一个样式:

                    active{

                                background-color: orangered;

                                color: white;

                                }

            1第一种方式(推荐):class绑定样式

                    :class绑定样式时,对象的属性名是类选择器名称,属性值返回true,表示添加该选择器

             2第二种方式,三元运算符法

            3第三种方法  :style绑定样式

                :style绑定样式时,对象的属性名称是css样式的名称(要使用小驼峰命名法),属性值是具体的样式值

        相比于普通函数计算来说,计算属性的优势是:有缓存,当页面数据发生变化时,所有的方法都要重新执行,当计算属性用到的数据发生变化时,计算属性才会重新执行。

            例如以下案例中的普通方法methods 和 计算属性computed

       1 侦听器的作用,其实就是当页面数据(属性值)发生改变时,重新发送ajax请求获取新的数据

        一般他有两个参数: nval (最新值)oval(旧值)

        2侦听对象时,需要开启深度监视

            格式如下: 

                            student:{

                                             //开启深度监视

                                             deep:true,

                                             //页面加载完成时,先运行一次(注意:这种情况下,旧值是undefined)

                                             immediate:true,

                                             //定义监视的函数

                                            handler(nval,oval){

                                             // 开启深度监视后,旧值已经没有意义,因为对象是引用类型,

                                            // 对象的属性值已经改了,就没有旧的属性值。

                                            consolelog(nval,oval);

                                           }

                               }

            注意点:1通过管道符| 调用过滤器,其实就是调用那个方法,将值传进去,再返回新的值

                           2过滤器可以链式调用,就是之前已经过滤完成的结果,继续传给下一个过滤器,注意顺序

                           3toFixed(数字)   函数,限定小数后几位的方法

        另外:还可以使用外部调用过滤器的方法

                    在外部写一个filter过滤器的js文件,然后引用,如下

先在data里面定义

`data () {

return {

collapse:false

}

}

`

点击展开菜单添加is-active,同时将collapse变成true,然后在你想增加类名的dom上加上:class="{'classA':collapse}",类名classA在css里面添加样式

以上就是关于vue实现点击后动态添加class及删除同级class全部的内容,包括:vue实现点击后动态添加class及删除同级class、VUE3中Class 与 Style 绑定、vue2 怎么把获取到的图片名赋值到文本框里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10142298.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存