Vue源码学习(十):关于dep和watcher使用的一些思考
好家伙,
前面想了好久,都没想明白为什么要dep和watcher打配合才能实现数据-视图同步
为什么要多一个依赖管理这样的东西
给每个数据绑个watcher(xxfunction),然后,数据变了,调set,然后调xxfunction,不就行了,
然后今天突然想明白了,不是为什么要这么干,而是必须这么干
来看一个例子,xx汉堡店,胖虎汉堡店
蔬菜沙拉的原料只有蔬菜
牛肉汉堡的原材有蔬菜,面包和汉堡肉
现在,我必须紧盯这些食材,材料如果缺货,那么我就无法制作食物并提供给客人了
现在,一旦缺货,我将会触发某些操作,补货
这时候我们可以抽象一下他们的依赖关系
Dep(牛肉汉堡){
watcher(蔬菜)
watcher(面包)
watcher(汉堡肉)
}
Dep(蔬菜沙拉){
watcher(蔬菜)
}
写到这,相信你已经理解dep的作用了
我们看到的视图,与我们要操作的数据并不是完全一一对应的,
也许是一对多,也许是多对一,也许是多对多
在视图与操作中出现一个中间人,来管理这个依赖关系,就是dep
所以总结一下dep的作用是什么?
管理依赖关系
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-10-10 第一百零三篇:前后端分离