methods:必须要有一定的触发条件才能执行,如点击事件
computed:
/*举个例子:
在我的电子购物网站里,我点击进入了某台电脑的购买页面。
在这里,我要选择电脑的型号,套餐,延保等等,不同的型号,套餐,延保对应的权都不一样。最后的总价要经过计算这些权来获得,于是我的总价运用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),就会调用对应的值方法。