vue3动态绑定样式,计算属性,监听器,过滤器

1.动态绑定样式

.bg{

    background-color : orange

}

<li :class="{bg:true}"></li>     //此处如果是true则显示,如果是false,则不显示。如下图,给点击处添加高亮效果

此处当showActive(点击某处时,获取该处的index,当高亮索引等于index的值时,则添加高亮效果)


另外两种写法如上图

行内样式绑定

2.计算属性 computed 

    在computed中定义的方法,在文本中当属性使用,默认情况下,计算属性,只能读,不能改。

定义完整结构的计算属性:    

 fullName:{

    get(){return......}                        // get方法,用于返回计算属性的值

    set(){}                        // set方法,用于修改计算属性的值

}

计算属性的优势是:有缓存,当页面数据发生变化时,所有的方法都要重新执行

当计算属性用到的数据发生变化时,计算属性才会执行。

3.侦听器 / 监听器  (当坚定到页面某个数据发生变化时,要做什么事时,就需要使用监听器)

    watch:{

            name(navl,oval){

                                       console.log(nval,oval)        //此处的nval是新的值,oval是旧值

                                     },

    student:{

            deep:true            //深度监视

            handler

                    }

                }

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

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

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

  格式如下: 

                       student:{

  //开启深度监视

    deep:true,

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

  immediate:true,

 //定义监视的函数

handler(nval,oval){

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

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

                                            console.log(nval,oval);

 }

                               }

 //根据属性的名称,定义一个方法,用于侦听该属性的变化,比如当name发生变化时,重新发送ajax请求获取新的数据

    栈空间保存地址,堆空间保存数据,对象的值保存在堆空间

4.过滤器

过滤器在模板中通过管道符 | 的方式来调用,过滤器可以链式调用,就是将之前已经过滤完成的结果,继续传给下一个过滤器。

filters:{

            toFixed(val){

                                return val.toFixed(2)

                            }    

        }

在原始数据后面加上 | toFixed2

4.1  定义全局过滤器,格式如下图

或者单独创建一个filter文件夹,将全局过滤器放入文件夹中,然后再所需要的页面中用script标签引入


页面跳转:  给超链接标签绑定一个函数,将函数的唯一编号id作为参数传出,在跳转函数中导入id

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容