美文网首页
vue源码个人理解1---三分一把刀

vue源码个人理解1---三分一把刀

作者: 三分一把刀 | 来源:发表于2019-08-24 13:44 被阅读0次

             我是三分一把刀。

             这次还没有看源代码,也没网上查资料,仅仅基于16年看过的代码,和其他语言和工作经历来说下自己的对这种双向绑定【mvvm】的框架的理解。

             1,Object.defintPropety,首先能够实现mvvm,还得感谢浏览器内核的一步一步升级,现在javascript Object拥有的一个方法,能够监听属性的改变Object.defintPropety,大家可以自己去深入了解,当中有一个可set,和get的方法,也就是说一旦属性修改和获取的回调,也就是这个方法,才助成了现在的mvvm这种易程序员开发的框架,相比angular1那种loop机制实在是好太多了;

             本人有开发java,python,php的经历,所以对比高级语言来说,其实就是一个实体对象的get与set,还有,还得感谢深圳金证集团,在研发中心的一年多时间里主要做一个UI编辑器,用的是react + redux 做的,里面有很多理念其实和这种框架设计差不多,对dom,组件的操作,数据的管理与监听等。这里再次感谢老东家,在内部上班时候觉得公司不咋地,出来了之后觉得还是挺好,这种感觉就像学校或者家里一样,在内的时候觉得垃圾,出来了觉得那是个港湾。有感而发

            2,框架根据dom的结构读取出各个指令与数据进行绑定耦合,当前最开始是初始化框架的配置,绑定耦合主要涉及observe,watcher,dep。这里主要是observe,比如一个name的数据有三个dom用了,那就是name--->[dom1,dom2,dom3]这么一个应对关系,然后name修改了,同时把三个dom也给修改了,这就是数据响应式的原理,个人认为核心也就在这里。

            3,指定与生命周期,这个就不用多说了,做过客户端android或者其他框架,都有before,mounted之类的生命周期,始终伴随着整个应用。

            4,vuex,这个没看过,当然原理和页面内observe差不多,功能无非一个是全局的。没有什么太大的区别【内部细节等看了之后再来说】

            这是我几年前看源代码现在来总结的,接下来的一段时间,我会和大家一起重新学习下vue的源代码和精神。。。

            我是三分一把刀

            

    相关文章

      网友评论

          本文标题:vue源码个人理解1---三分一把刀

          本文链接:https://www.haomeiwen.com/subject/riofectx.html