vue开发的methods、watch、computed区别与加载顺序

methods、watch、computed都可以用来实现相同的一些指令操作,那它们有什么区别呢?

methods方法是一个具体的操作,主要用于书写业务逻辑。
vue开发的methods、watch、computed区别与加载顺序
watch是一个对象,键是需要观察的表达式,值是对应回调函数。这个属性可以监听data中的指定数据的变化,然后触发这个watch中对应的function处理函数。
推荐使用场景:一个数据影响多个数据。
vue开发的methods、watch、computed区别与加载顺序
computed是一个计算属性,在这个计算属性中只要其中任意一个数据发生变化,计算属性就会重新执行一遍,视图也会自动更新。
它既可以依赖其他计算属性,也可以依赖其他vue实例里面的计算属性。
computed还有一个特点是它的结果会被缓存,只要数据不发生变化,它就不需要再更新一次。这在遍历大数组和做大量计算的时候非常方便!
推荐使用场景:一个数据受多个数据影响。

注意:在data中没有直接声明的变量,也可以在computed中写入。
vue开发的methods、watch、computed区别与加载顺序
一般来说,它们的加载顺序是:
默认DOM加载完成后,先执行computed再执行watch,而不执行methods,methods需要一些触发条件才能执行。