Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript Web应用程序中实现类似SproutCore的绑定_Javascript_Binding_Sproutcore - Fatal编程技术网

在JavaScript Web应用程序中实现类似SproutCore的绑定

在JavaScript Web应用程序中实现类似SproutCore的绑定,javascript,binding,sproutcore,Javascript,Binding,Sproutcore,我已经完成了测试,并且对框架提供了什么有了想法。这看起来很神奇,尽管我不确定我对一个在幕后生成HTML和CSS的框架的感觉如何。我发现SproutCore最吸引人的地方是它的绑定——减少保持同步所需的粘合代码的数量只会是一件好事 我很想了解SproutCore绑定是如何实现的。我希望能够利用绑定,而不必使用SproutCore之类的框架 如何编写绑定数据及其表示所需的JavaScript代码,让视图在没有任何粘合代码的情况下立即反映对数据的更改?使用mixin提供的“get”和“set”方法,使

我已经完成了测试,并且对框架提供了什么有了想法。这看起来很神奇,尽管我不确定我对一个在幕后生成HTML和CSS的框架的感觉如何。我发现SproutCore最吸引人的地方是它的绑定——减少保持同步所需的粘合代码的数量只会是一件好事

我很想了解SproutCore绑定是如何实现的。我希望能够利用绑定,而不必使用SproutCore之类的框架


如何编写绑定数据及其表示所需的JavaScript代码,让视图在没有任何粘合代码的情况下立即反映对数据的更改?

使用mixin提供的“get”和“set”方法,使用SproutCore,可以观察键值。当您创建绑定时,它基本上会设置一个观察者,当对它所观察的值调用“set”方法时,该观察者就会激发,然后传播更改。当绑定绑定到页面上的视图时,绑定将调用必要的视图代码对DOM进行更改。您可以在上查看API文档和源代码


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

如果您不介意我问一下,为什么您不希望为您生成HTML和CSS?我们中的一些人仍然会回想起Frontpage和Dreamweaver的美好时光。也许从那时起情况有所改善,但我仍然会编写自己的该死的HTML/CSS/Javascript tyvm。如果您愿意,您实际上可以对HTML/CSS进行微观管理,而不是依赖SC来为您进行管理。然而,SC在管理这方面做得很好,在大多数情况下,它可以节省大量时间。然而,SC并不是适合每项工作的工具,所以仍然有一些情况下,你应该直接编写HTML,加入一些JS。我非常喜欢SproutCore生成HTML和CSS的想法。我只是在这个阶段有点不安,因为这个框架对我来说是全新的,所以感觉像一个神秘的黑匣子。当我了解幕后发生的事情时,我会感到更舒服。是的,我明白。不幸的是,SC文档有点缺乏。然而,社区是非常有帮助的。请尝试IRC聊天室#sproutcore或邮件列表:sproutcore@googlegroups.com. SC上还有一个新版本,应该在不久的将来发布。这是一个很棒的答案!谢谢你,布鲁兹