我已完成SproutCore tutorial并了解框架提供的内容。这看起来很神奇,虽然我不确定我对一个在幕后生成HTML和CSS的框架的感觉。关于SproutCore我觉得最吸引人的是它的绑定 - 减少保持所有内容同步所需的胶水代码量只是一件好事。
我有兴趣了解SproutCore的绑定是如何实现的。我希望能够利用绑定而不必使用像SproutCore这样的框架。
如何编写绑定数据及其表示所需的JavaScript代码,以便在没有任何粘合代码的情况下立即反映数据的变化?
答案 0 :(得分:6)
使用SproutCore使用SC.Observable mixin提供的'get'和'set'方法可以实现键值观察。当你创建一个绑定时,它基本上建立了一个观察者,当它在观察的值上调用'set'方法时触发,然后传播更改。当绑定绑定到页面上的视图时,绑定会调用必要的视图代码来对DOM进行更改。您可以在SC.Observable处查看SC.Binding和http://docs.sproutcore.com的API文档和来源。
由于SproutCore分为多个“框架”,你可以采用这个核心东西所在的框架,称为“运行时”,并在你的项目中使用它,而不需要你没有的所有数据存储和视图层想。您也可以尝试自己重现此功能,但我想知道您是否最终必须重现他们创建的大部分内容。