代码之家  ›  专栏  ›  技术社区  ›  davidchambers

在Javascript Web应用程序中实现类似sproutcore的绑定

  •  2
  • davidchambers  · 技术社区  · 14 年前

    我已经完成了 SproutCore tutorial 并对框架提供的内容有一个概念。虽然我不确定自己对一个在幕后生成HTML和CSS的框架有什么感觉,但这看起来很神奇。关于SproutCore,我觉得最吸引人的是它的绑定“减少所有东西保持同步所需的粘合代码数量”只能是一件好事。

    我有兴趣了解SproutCore的绑定是如何实现的。我希望能够利用绑定,而不必使用SproutCore这样的框架。

    如何编写绑定数据及其表示所需的javascript代码,让视图立即反映对数据的更改而不使用任何粘合代码?

    1 回复  |  直到 14 年前
        1
  •  6
  •   Anurag    14 年前

    使用由提供的“get”和“set”方法 SC.Observable Mixin启用关键值观察。当您创建一个绑定时,它基本上会设置一个观察者,当对它所观察的值调用“set”方法时,它会触发这个观察者,然后传播更改。当绑定绑定绑定到页面上的视图时,绑定调用必要的视图代码以对DOM进行更改。您可以查看API文档和 可观察到的 SC.Binding http://docs.sproutcore.com .

    由于SproutCore被划分为多个“框架”,您可以只使用这个核心内容所在的框架,称为“运行时”,并在您的项目中使用它,而不需要所有不需要的数据存储和视图层。您也可以尝试自己复制这个功能,但我想知道您是否最终不得不复制它们所创建的大部分内容。

    推荐文章