vue中的侦听器watch的使用,watch和computed的区别

13 篇文章 0 订阅
watch侦听器的作用就是侦听一个data中的值的变化,变化后可以写一个方法,让其进行一些操作(业务逻辑的编写)。

侦听器watch和计算属性computed的区别

  1. 计算属性computed必须要返回一个值,而且在页面渲染的同时就会执行里边的业务逻辑,也就是会先执行一遍你写的业务逻辑,                                   
  2. watch只有发生变化时才会执行,也就是说值没有变化,它是不执行里边业务逻辑的。
  3. watch监听的是一个变量的变化,只有变量变化时才执行
  4. computed是返回一个数据,这个数据可以依赖多个变量,只要依赖的其中一个变量发生变化,就会重新计算。
  5. 计算属性的代码更加简洁
现在总结一下method、watch和computed三者如果都能实现相同的功能,它们之间的取舍和使用优先级。
  • computed 和  method都能实现的功能,建议使用computed,因为有缓存,不用渲染页面就刷新。
  • computed 和  watch 都能实现的功能,建议使用 computed,因为更加简洁。

代码:

<template>
<!-- vue中的侦听器(watch的使用) -->
    <div class="base05">
        <home-back></home-back>
        <div>总数:{{total}}</div>
        <div>总数:{{newTotal}}</div>
        <button @click="count++">增加count</button>
    </div>
</template>

<script>
import Back from "@/components/common/back.vue"
export default {
    data(){
        return{
            count:1,
            price:10,
            newTotal:''
        }
    },
    components:{
        'home-back':Back
    },
    watch:{
        count(now,pre){ 
            console.log(now)
            console.log(pre)
            return this.newTotal = this.price*this.count
        }
    },
    computed:{
        total(){
            return this.count * this.price
        },
    },
    methods:{
    }
}
</script>

<style scoped lang="stylus">
    .base04
        margin-top 30px
        margin-left 50px
        h2
            margin-top 20px
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值