• computed和watch的区别


    computed 的通过几个数据的变化,来影响一个数据,支持缓存,不支持异步
    watch监听一个数据的变化,去影响多个数据。不支持缓存,支持异步

    1. // computed :
    2. <template>
    3. <div>
    4. <p>{{ reversedMessage }}</p>
    5. </div>
    6. </template>
    7. <script>
    8. export default {
    9. name: 'test1',
    10. data () {
    11. return {
    12. message: 'hello world',
    13. number: 1
    14. }
    15. },
    16. computed: {
    17. // 字符串反转
    18. reversedMessage () {
    19. return this.message.split('').reverse().join('') + this.number
    20. }
    21. }
    22. }
    23. </script>
    1. //watch:
    2. <template>
    3. <div>
    4. <p>{{ this.number }}</p>
    5. </div>
    6. </template>
    7. <script>
    8. export default {
    9. name: 'test1',
    10. data () {
    11. return {
    12. number: 1
    13. }
    14. },
    15. created () {
    16. setTimeout(() => {
    17. this.number = 100
    18. }, 2000)
    19. },
    20. watch: {
    21. number (newVal, oldVal) {
    22. console.log('number has changed: ', newVal)
    23. }
    24. }
    25. }
    26. </script>

    计算属性computed:
    1 支持缓存,只有依赖数据发生改变,才会重新进行计算
    2 不支持异步,当computed内有异步操作时无效,无法监听数据的变化
    3 computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值
    4 如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed
    5 如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法
    侦听属性watch:
    1 不支持缓存,数据变,直接会触发相应的操作;
    2 watch支持异步,computed不支持异步
    3 监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;
    4 当一个属性发生变化时,需要执行对应的操作;一对多;
    5 监听数据必须是data中声明过或者父组件传递过来的props中的数据,当数据变化时,触发其他操作,函数有两个参数,
      immediate:组件加载立即触发回调函数执行,
      deep: 深度监听,为了发现对象内部值的变化,复杂类型的数据时使用,例如数组中的对象内容的改变,注意监听数组的变动不需要这么做。注意:deep无法监听到数组的变动和对象的新增,参考vue数组变异,只有以响应式的方式触发才会被监听到。

  • 相关阅读:
    Springboot毕设项目高校学科竞赛管理qc6u3(java+VUE+Mybatis+Maven+Mysql)
    网络文件系统—NFS
    Java项目:在线美食分享推荐系统(java+SSM+JSP+jQuery+Mysql)
    Java扩展Nginx之六:两大filter
    Android菜单Menu详解
    Git合并出现MERGING有效解决方法
    Java易错知识点整理(待更新)
    关于使用命令行打开wps word文件
    星宿UI V2.1 开源wordpress资源下载小程序,流量主激励视频广告
    Docker-desktop(Docker桌面版)——入门篇
  • 原文地址:https://blog.csdn.net/m0_65912225/article/details/125478369