VUE中methods与computed和watch的区别

背景

今天在写根据后台传递过来的数据,整合为一个新的值.显示在界面上的时候.遇到了一个问题.是该使用watch还是computed来完成数据的计算呢.

解释

  • 他们的功能与他们的意思是一样的.
    • computed就是做一些计算的动作.根据现有数据做一些计算.之后返回一个新的数据.这个数据会被显示在用户界面上.
    • watch是用来监听.与node后台的listen类似.监听到数据的变化之后做一些事情.这些事情可以是异步的.

下面是在网上查了它们之间的区别

  • methods在每次页面进行重新渲染的时候,都会去执行一次.这样做开销比较大.如果不希望页面有缓存的情况下,可以这么做
  • computed
    • computed中的属性是自定义属性.自定义属性依赖来自data中的值来进行计算,从而返回一个新的值.
    • 且computed的变量不可与data中的变量冲突.
    • computed是可以监控到数组与对象的变化的.
  • watch
    • watch中监听的属性需要是已经存在的.存在于data中,或者是computed中.
    • watch中可以执行异步操作.一般使用watch做一些逻辑复杂或者是异步操作的事情.
    • 以及监听到这个数据变化之后去做一些别的事情.

参考

posted @ 2020-08-22 19:46  高坦的博客  阅读(1332)  评论(0编辑  收藏  举报