我已经完成了SproutCore tutorial,并对框架所提供的内容有所了解。尽管我不确定在幕后生成HTML和CSS的框架的感觉如何,这似乎令人惊讶。我发现SproutCore最吸引人的地方是它的绑定(bind)-减少使所有内容保持同步所需的粘合代码数量只是一件好事。

我对学习如何实现SproutCore的绑定(bind)感兴趣。我希望能够利用绑定(bind)而不必使用诸如SproutCore之类的框架。

如何编写必要的JavaScript代码来绑定(bind)数据及其表示,使 View 无需任何胶合代码即可立即反射(reflect)出数据更改?

最佳答案

使用SproutCore,使用SC.Observable mixin提供的“get”和“set”方法可启用键值观察。创建绑定(bind)时,它基本上会设置一个观察者,该观察者将在对其观察的值调用'set'方法时触发,然后传播更改。当绑定(bind)绑定(bind)到页面上的 View 时,绑定(bind)将调用必要的 View 代码以对DOM进行更改。您可以在SC.Observable上查看API文档和SC.Bindinghttp://docs.sproutcore.com的源代码。

由于SproutCore被分为多个“框架”,因此您可以采用该核心内容所在的框架(称为“运行时”),并在项目中使用它,而不必使用所有不需要的数据存储和 View 层。您也可以尝试自己重现此功能,但我想知道您是否最终不得不重现他们所创建的大部分内容。

关于javascript - 在JavaScript Web应用程序中实现类似于SproutCore的绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3670240/

10-09 08:04
查看更多