Vue面试computed、watch和methods的区别

1.methods
不存在缓存,执行一次运行一次,执行n次,运行n次

  <input type="text" v-model="textValue" v-on:keyup.13="handleKeyUp(num, $event)">
  methods: {
        handleKeyUp(num, e) {
          // 按的是回车键
         if (num.keyCode === 13) {
        alert('按了回车键')
        }
      },

2.computed

  • 计算属性是被动的,别人改变我才改变
  • 没有参数,需要有返回值
  • 可以同时依赖多个响应式数据
  • 多数情况下优先选用计算属性
 data() {
        return {
          msg: 'hello Vue!',
          count: 10
       }
  },
 computed: {
        // 计算属性的本质是函数,并且return出想要的结果
        // 使用的时候不需要调用
        reverseMsg() {
          return this.msg.split('').reverse().join('') + this.count;
        },
        reverseMsg2() {
          return this.reverseMsg + this.reverseMsg
        }
      }

3.侦听属性

  • 侦听属性是主动,我改变让别人改变,或者触发某些事件
  • 有两个参数,不需要返回值
  • 没有办法监听多个
  • 可以使用异步
 mounted() {
        setTimeout(() => {
          this.msg = 'hi Vue!'
        }, 2000);
      },
 watch: {
        // 里面是函数
        // 函数名就是我们要监听的响应式数据/计算属性
        // 里面默认有两个参数
        msg(val, oldVal) {
          console.log(val, oldVal)
        }
      }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

liuwenjie_

感谢打赏,问题留言~

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

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

打赏作者

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

抵扣说明:

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

余额充值