javascript框架:什么是UI绑定和组合视图?

时间:2012-01-26 03:14:05

标签: javascript backbone.js javascript-framework

我正在读这个:

http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

我正在使用backbone.js。我喜欢它,虽然它需要太多的样板。反正。

这篇文章的作者似乎非常重视UI绑定和组合视图。

我认为我知道ui绑定的基本优势,您可以在模型更改时更改视图的小部分,而无需重新渲染整个视图。我不一定看到这一点。如果您的观点很大,也许您应该制作较小的视图?我已经看过knockoutjs的代码了,它充斥着丑陋的数据绑定内容。 emberjs如何处理它?有一个例子吗?

我不知道他的意见是什么意思,有人会澄清吗?

  

组合视图 - 与所有软件开发人员一样,我喜欢创建模块化可重用代码。出于这个原因,在编程UI时,我会   喜欢能够撰写视图(最好是在模板层)。   这也应该带来丰富的视图组件的潜力   层次结构。一个例子是可重用的分页小部件。

有例子吗?

由于

编辑:

这有助于制作类似视图的内容吗?

https://github.com/tbranyen/backbone.layoutmanager

4 个答案:

答案 0 :(得分:6)

组合视图用于将视图划分为小块,可以重复使用或适应不同的场景。

例如,在您编辑用户的表单中,您可以为地址字段创建一个视图,只需从主页/模板中调用它即可。作者也提到分页作为一个例子,在这种情况下,您可以创建一个模型,知道如何在页面之间切换时处理检索数据,并将其应用到页面中的表格。

关于“丑陋”的数据绑定代码,骨干需要知道如何将自身附加到现有标记以及如何在事件发生时修改它。

也许这个例子会有所帮助: http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/

答案 1 :(得分:5)

传统网页是单一的。用户调用页面和服务器构造页面,浏览器呈现它。这里作者指的是将这种代码分解为一组视图。所以你的页面由多个部分组成。每个部分都可以独立渲染和更新。或者,一个模型更改可以触发部分或全部部分的一系列更新。

基本上,这可以让您创建桌面'网上的应用程序。而且你不必诉诸iframe黑客来做这件事。

Gmail和Google阅读器是使用撰写视图构建的Web应用程序的很好示例。

答案 2 :(得分:2)

我为Backbone.js创建了LayoutManager,因为我也想合成视图。

http://tbranyen.github.com/backbone.layoutmanager/

如果您觉得这种方法有用,请告诉我。

答案 3 :(得分:-1)

听起来像是作者在这里讨论服务器端代码。构建可重用页面模板系统,从一组常用小部件,html代码段等生成页面......

Apache的Tiles是这样做的一种方式。