花一个小时,用 36 行写了一个最简单的 js 双向绑定

2017-03-09 21:07:12 +08:00
 xingo

https://www.v2ex.com/t/344613

前几天看到这一贴说有没有只做双向绑定的框架,今天读完日语没啥事情,就用一个小时实现了一下这个简单的函数

好评在 npm 上下载哦

截图上没有表现出来的是 object.value 手动修改 也会使所有的 dom 刷新 value

用的原理和 Vue 是一样的 稍稍参考了一下 Vue 的实现

当然 github 在这里 https://github.com/xingoxu/twoWayBinding ,欢迎大力点星(逃)

3181 次点击
所在节点    程序员
11 条回复
qihboy
2017-03-09 21:42:50 +08:00
39 export default twoWay;

明明是 39 行 /smile
xingo
2017-03-09 21:47:28 +08:00
@qihboy 空行去掉好伐啦(
chemzqm
2017-03-09 22:22:13 +08:00
曾经写过一个 https://github.com/chemzqm/reactive-lite
还搞的各种文档和测试
只是用了 react 后,再没管过它了
fyibmsd
2017-03-09 22:29:53 +08:00
有什么用
xingo
2017-03-09 22:31:27 +08:00
@chemzqm 哇, 我这个只是写着玩一下的,试试自己能不能够实现双向绑定
anuan
2017-03-09 22:39:02 +08:00
老夫只用 jquery
chemzqm
2017-03-09 23:17:13 +08:00
@xingo #5 双向绑定写起来方便,但是灵活性和可控性太差了,还是基于 VirtualDom 的单向数据流更靠得住些
xream
2017-03-10 00:01:35 +08:00
@anuan #6 想到那张神图
markx
2017-03-10 00:08:44 +08:00
其实写得挺好的, 但是我还是忍不住想说一句,代码不换行读起来不舒服啊! minify 成一行岂不更好?
xingo
2017-03-10 00:12:30 +08:00
@markx 我一般是这么想的,如果匿名函数只有一句话,我是不愿意换行的, if 什么的也是一样 不过我刚发现我自己 forEach 那边应该不换行,怎么就换行了呢。。。拿 jsfiddle 写的 233
KIDJourney
2017-03-10 13:14:55 +08:00
@fyibmsd 没什么用,除了业务什么都不要写最好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX