怎样看懂一个简单的MVVM框架需要哪些基础知识

这篇文章希望能帮你了解 mvvm 最基本的思路http://segmentfault.com/a/1190000004847657
■网友
如果有兴趣,可以看看我们公司刚刚open的框架,现在代码还非常非常少,甚至还缺很多功能,所以呢,你甚至可以试着为它补足基本功能。https://github.com/astamuse/asta4js
■网友
M -\u0026gt; V 的绑定可以通过 ES5的Object.defineProperty方法来实现(ember和avalon都是用该方法实现的),当数据发生变化时会自动调用set方法,获取数据时会自动调用get方法var user = {}, nameValue = https://www.zhihu.com/u0026#39;Mee/u0026#39;;Object.defineProperty(user, /u0026#39;name/u0026#39;, { get: function() { return nameValue; }, set: function(newValue) { nameValue = newValue; }, configurable: true});console.log(user.name); // Meeuser.name = /u0026#39;Mo/u0026#39;; console.log(user.name); // Moconsole.log(nameValue); // MoV -\u0026gt; M 的绑定基本上都是通过DOM事件来实现的,比如input的change和keyup事件等,只要写个函数自动监听这些事件并挂钩到相应执行函数上就可以实现了。其实很多时候都是通过解析模版片段,进行相应的事件绑定。好吧,基本上MVVM的外衣已经拨开了,真相是骨感和令人失落的,其实MVVM并不那么神乎其神...只是原先一些需要自己手写的功能,框架替你自动处理了而已...
■网友
我的想法跟你一样,我研究了一下avalon的基本源代码,实现了一个非常简单的复制品,当然只具备初级功能,但是足以说明mvvm的基本原理了。如何实现一个MVVM框架图灵社区 : 阅读 : 如何实现一个MVVM框架
■网友
【怎样看懂一个简单的MVVM框架需要哪些基础知识】 只需要基本的JavaScript和HTML知识即可,B站上有个讲原理的视频很清楚,https://b23.tv/BV1JK4y1C7oy


    推荐阅读