这篇文章主要讲解了“Vue2响应式系统有什么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue2响应式系统有什么用”吧!回到最简单的代码:响应式系统要做的事情:某个依赖了数据的函数,当所依赖的数据改变的时候,该函数要重新执行。data
data
我们期望的效果:当上边修改的时候,函数再执行一次。data.text
updateComponent
为了实现响应式系统,我们需要做两件事情:知道中的数据被哪些函数依赖data
data
中的数据改变的时候去调用依赖它的函数们为了实现第点,我们需要在执行函数的时候,将当前函数保存起来,然后在读取数据的时候将该函数保存到当前数据中。1
第点就迎刃而解了,当修改数据的时候将保存起来的函数免费云主机域名执行一次即可。2
在读取数据和修改数据的时候需要做额外的事情,我们可以通过 重写对象属性的 和 函数。Object.defineProperty()
get
set
我们来写一个函数,重写属性的和函数。get
set
为了调用更方便,我们把第步和第步的操作封装一个类。1
2
Dep
我们将当前执行的函数保存到类的变量上。Dep
target
为了保存当前的函数,我们还需要写一个类,将需要执行的函数传入,保存到类中的属性中,然后交由类负责执行。Watcher
Watcher
getter
Watcher
这样在类中,中保存的就不是当前函数了,而是持有当前函数的对象。Dep
subs
Watcher
Watcher
的作用就是将正在执行的函数通过包装后保存到中,然后调用传进来的函数,此时触发对象属性的函数,会收集当前。Watcher
Dep.target
get
Watcher
如果未来修改对象属性的值,会触发对象属性的,接着就会调用之前收集到的对象,通过对象的方法,来调用最初执行的函数。set
Watcher
Watcher
uptate
回到我们之前没写完的函数,按照上边的思路,我们来补全一下。defineReactive
我们再写一个方法,把对象的全部属性都变成响应式的。Observer
我们提供一个方法来负责创建对象。observe
Observer
将上边的方法引入到文章最开头的例子,来执行一下:此时就会输出两次了~收到 hello, world
收到 hello, liang说明我们的响应式系统成功了。感谢各位的阅读,以上就是“Vue2响应式系统有什么用”的内容了,经过本文的学习后,相信大家对Vue2响应式系统有什么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
相关推荐: springboot中如何利用mybatis+druid配置动态数据源
这篇“springboot中如何利用mybatis+druid配置动态数据源”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot中…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。