前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端每日一题(10.24题目+10.23答案)

前端每日一题(10.24题目+10.23答案)

作者头像
程序员法医
发布2022-12-20 21:37:31
2220
发布2022-12-20 21:37:31
举报
文章被收录于专栏:vue全家桶vue全家桶

前端猎手

哈喽,大家好

我是法医

快来和法医一起看看

今天的前端每日一题吧

10月24日~面试题:

10月23日~参考答案:

说一下 watch 与 computed 的区别是什么?以及他们的使用场景分别是什么?

区别:

  1. 都是观察数据变化的(相同)
  2. 计算属性将会混入到 vue 的实例中,所以需要监听自定义变量;watch 监听 data 、props 里面数据的变化;
  3. computed 有缓存,它依赖的值变了才会重新计算,watch 没有;
  4. watch 支持异步,computed 不支持;
  5. watch 是一对多(监听某一个值变化,执行对应操作);computed 是多对一(监听属性依赖于其他属性)
  6. watch 监听函数接收两个参数,第一个是最新值,第二个是输入之前的值;
  7. computed 属性是函数时,都有 get 和 set 方法,默认走 get 方法,get 必须有返回值(return)

watch 的 参数:

  • deep:深度监听
  • immediate :组件加载立即触发回调函数执行

computed 缓存原理: conputed本质是一个惰性的观察者;当计算数据存在于 data 或者 props里时会被警告; vue 初次运行会对 computed 属性做初始化处理(initComputed),初始化的时候会对每一个 computed 属性用 watcher 包装起来 ,这里面会生成一个 dirty 属性值为 true;然后执行 defineComputed 函数来计算,计算之后会将 dirty 值变为 false,这里会根据 dirty 值来判断是否需要重新计算;如果属性依赖的数据发生变化,computed 的 watcher 会把 dirty 变为 true,这样就会重新计算 computed 属性的值。

每天都会有一道面试题,大家的积极参与和讨论,是我继续下去的动力,希望大家踊跃互动,共同进步!保持学习,每天进步一点点!

大家可以将自己的想法在评论区留言,答案我会在明天每日一题中公布!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端猎手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说一下 watch 与 computed 的区别是什么?以及他们的使用场景分别是什么?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档