Vue如何实现数据驱动


这篇文章主要介绍“Vue如何实现数据驱动”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue如何实现数据驱动”文章能帮助大家解决问题。一、前言
之前实现了为每个对象扩展一个$set方法,用于新增属性使用,这样就可以监听新增的属性了。当然,数组也是对象,也可以通过$set方法实现新增属性。但是,对于数组而言,通常我们是通过push之类的方法吧。PS:Vue中明确指出push、pop、shift、unshift、splice、sort、re免费云主机域名verse方法为变异方法,可以通过它们监听属性变化注:我们将Array变异方法实现,也写在extendObj.js中的,因为数组也是对象嘛。二、Array变异方法实现
要实现这些变异方法,毫无疑问,我们会重写它们,那在Array.prototype里面重写吗?当然不是,这样不就影响了所有数组对象的原型链了么!为了避免这种情况,且,我们只是想在监听数据对象上继承这些变异数组方法,那么细心的你会发现,其实与我们在”模拟Vue之数据驱动3″中实现$set方法类似了。首先,我们创建arrKeys对象用于保存需要变异的数组方法以及恒定对象extendArr,如下:接着,就是在extendArr对象上,一一监听arrKeys中的方法了,与$set方法类似,整体结构如下:注:proxyObject方法其实核心就是Object.defineProperty,详见”模拟Vue之数据驱动3″.接下来,就是实现核心部分代码了,重写这些方法的目的,是为了监听数据变化,所以要在方法原有功能不变的情况下,重写它们,Array.xxx.apply即可实现原有功能。且,push、unshift、splice这三个方法可以在原数组中,新增属性,故而,我们需要监听新增属性以及它们的属性值,这里就和$set方法完全一样了,通过$Observer,即可利用observe以及convert方法实现了。实现代码如下:最后,就是在需要监听的对象上继承这些变异方法咯,如下:好了,一切完毕,接下来就测试下呗:效果如下:Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。关于“Vue如何实现数据驱动”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: vue路由跳转实现的方法是什么

这篇文章主要介绍了vue路由跳转实现的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue路由跳转实现的方法是什么文章都会有所收获,下面我们一起来看看吧。1.使用this.$router.push()跳转1)不带参跳转2…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/18 18:13
Next 02/18 18:30

相关推荐