当前位置:首页>开发>正文

vue中method,computed,watch有什么区别 vue.js watch怎么用

2023-04-22 13:13:25 互联网 未知 开发

 vue中method,computed,watch有什么区别 vue.js watch怎么用

vue中method,computed,watch有什么区别

通俗来讲,
computed是在HTML DOM加载后马上执行的,如赋值;
而methods则必须要有一定的触发条件才能执行,如点击事件;
watch呢?它用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。
所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。
下面的例子可以做为说明。
computed 属性 vs watched 属性:Vue 确实提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:watch 属性。当你有一些数据需要随着其它数据变动而变动时,你很容易滥用 watch——特别是如果你之前使用过 AngularJS。然而,通常更好的想法是使用 computed 属性而不是命令式的 watch 回调。

vue.js watch怎么用

和方法写法一样。位置和methods平行,obj为监听的数据,
watch: {
obj:function(){这里磁轭操作} ,
obj(){这样也行},
obj.name(){这样监听对象的属性}
},

如何使用vue.js中的$watch

Observer, Watcher, vm 可谓 Vue 中比较重要的部分,检测数据变动后视图更新的重要环节。下面我们来看看 如何实现一个简单的 $watch 功能,当然Vue 中使用了很多优化手段,在本文中暂不一一讨论。
例子:
// 创建 vm
let vm = new Vue({
data: a
})

// 键路径
vm.$watch(a.b.c, function () {
// 做点什么
})

先阐明在这个 demo 以及Vue 中,它们的关系:
vm 调用 $watch 后,首先调用 observe 函数 创建 Observer 实例观察数据,Observer 又创建 Dep , Dep 用来维护订阅者。然后创建 Watcher 实例提供 update 函数。一旦数据变动,就层层执行回调函数。

vue2 中 computed 和 watch 的异同

一、computed 和 watch 都可以观察页面的数据变化。当处理页面的数据变化时,我们有时候很容易滥用watch。 而通常更好的办法是使用computed属性,而不是命令是的watch回调。
这里我直接引用vue官网的例子来说明:
html:
我们要实现 第三个表单的值 是第一个和第二个的拼接,并且在前俩表单数值变化时,第三个表单数值也在变化



123451234
js: 用watch方法来实现
new Vue({
el: #myDiv,
data: {
firstName: Foo,
lastName: Bar,
fullName: Foo Bar
},
watch: {
firstName: function (val) {
this.fullName = val this.lastName
},
lastName: function (val) {
this.fullName = this.firstName val

最新文章