Vue学习day03-计算属性和侦听器、computed vs watch

计算属性computed

1. 计算属性vcomputed
2. 计算属性具有缓冲属性,如果值未发生变化,则不重新渲染
<p>共有{{total}}</p>
computed: {
    total() {
        return this.courses.length + "门课程"
    }
},

侦听器watch

1. vwatcher指令快速生成watch
2. 只用被监听的值发生变化时,才会执行函数
3. 要想立即执行函数,需要添加参数,快捷指令为vwatcher-options
<p>共有{{totalCount}}</p>
var app = new Vue({
    el: '#app',
    data: {
        message: 'Hello Vue!',
        message1: '课程购物车',
        course: '',
        selectedCourse: '',
        courses: ['web课程','python课程','java课程'],
        totalCount:0
    },

默认监听器:

watch: {
    courses(newValue, oldValue) {
        //值发生变化才执行函数
        this.totalCount = newValue.length + '门课程'
    }
},

带参数的监听器:

watch: {
    courses: {
        immediate: true, //立即执行一次
        deep: true, //适用于JSON形式
        handler(newValue, oldValue) {
            this.totalCount = newValue.length + '门课程'
        }
    }
},

computed vs watch

1. 实际开发过程中能用computed就用computed
2. 计算属性具有缓冲性、简单
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情迷不是情谜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值