您的位置:首页 > Web前端 > Vue.js

Vuejs中关于computed、methods、watch的区别

2018-08-23 16:11 381 查看
版权声明: https://blog.csdn.net/xiasohuai/article/details/81982906

methods:必须要有一定的触发条件才能执行,如点击事件

computed:

[code]/*举个例子:
在我的电子购物网站里,我点击进入了某台电脑的购买页面。
在这里,我要选择电脑的型号,套餐,延保等等,不同的型号,套餐,延保对应的权都不一样。最后的总价要经过计算这些权来获得,于是我的总价运用computed*/
computed: {
proPrice(){    //计算总价
return (this.proBuy.type * this.proBuy.place * this.proBuy.year)* 100;
}
}
//html代码
<li>
<span>总价:</span>
<span>{{proPrice}}元</span>
</li>

一旦我改变了电脑的型号,套餐,延保的任一项,就会触发computed的proPrice()方法。

1.优点: 
在数据未发生变化时,优先读取缓存。computed 计算属性只有在相关的数据发生变化时才会改变要计算的属性,当相关数据没有变化是,它会读取缓存。而不必想 motheds方法 和 watch 方法是的每次都去执行函数。

2.setter 和 getter方法:(注意在vue中书写时用set 和 get) 
setter 方法在设置值是触发。 
getter 方法在获取值时触发。

watch:

字面理解就是观察,监视。
一旦对应的键发生变化(例如$router),就会调用对应的值方法。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: