computed、methods、watch的区别

三者的相同之处是都可以对数据进行处理。

异同:

methods:

1、是方法,可以通过VM实例来访问这些方法,或者在指令表达式中使用。只要调用了里面的方法,函数就会执行,多次调用就多次执行,并不依赖缓存;

2、而methods则必须要有一定的触发条件才能执行,如点击事件。

computed:

1、是一个计算属性,调用的时候,如果依赖的属性本身没有发生变化,那么不论调用多少次,都只会执行一次,并把执行的结果缓存起来,下次调用的时候,直接调用缓存的结果,不再执行代码,相比methods来说更加节省性能。当然,当属性本身发生了变化的时候,会执行新的代码;

2、computed是在HTML DOM加载后马上执行的,如赋值。

3、同样可以监听数据变动,但相比watch来说,computed主要用于同步数据的简单处理,如果涉及异步操作,则要使用watch,比如监听路由参数的变化。

watch:

1、是监听属性。用来观察和响应 Vue 实例上的数据变动,主要用于数据输入时异步操作或者开销较大的情况

2、watch页面上来是不会执行的,只有指定数据发生变化才会触发,watch无缓存性,值不变化也会执行。

猜你喜欢

转载自www.cnblogs.com/hhhhhedy/p/11445659.html