Vue-总结

计算属性和方法的区别

1.计算属性本质上是包含getter和setter的方法
当获取计算属性时,实际上是在调用计算属性的getter方法,vue会收集计算属性的依赖,并缓存计算属性的返回结果,只有当依赖发生变化时才会重新计算
方法没有缓存,每次调用方法都会导致重新执行
2.计算属性的getter和setter参数固定,getter没有参数,setter只有一个参数,而方法的参数不限
由于有以上的这些区别,因此计算属性通常是根据已有的数据得到其他的数据,并在得到的数据的过程中不建议使用异步,当时间,随机数等副作用操作
实际上,他们最重要的区别是含义上的区别,计算属性含义上也是一个数据,也可以读取也可以赋值,方法含义上是一个操作,用于处理一些事情

v-if和v-show的区别

v-if能控制VNode的形成,也就间接的控制了是否生成对应的DOM,当v-if为true时会生成对应的vnode,并生成对应的dom元素,当其为false时,不会生成对应的vnode,自然不会生成任何的dom元素
v-show始终会生成vnode,也就间接的导致了始终生成dom,只是控制了display:none的这个属性
使用v-if可以有效的减少树的节点和渲染量,但也会导致树的不稳定,而使用v-show可以保持树的稳定,但不能减少树的节点和渲染量
因此实际开发中,显示状态变化频繁的情况下应该使用v-show,以保持树的稳定,显示状态变化少时应该使用v-if来减少树的节点和渲染量

posted @ 2024-11-03 19:05  韩德才  阅读(20)  评论(0编辑  收藏  举报