Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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框架:什么是UI绑定和组合视图?_Javascript_Backbone.js_Javascript Framework - Fatal编程技术网

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

javascript框架:什么是UI绑定和组合视图?,javascript,backbone.js,javascript-framework,Javascript,Backbone.js,Javascript Framework,我正在读: 我正在使用backbone.js。我喜欢它,尽管它需要太多的样板。无论如何 这篇文章的作者似乎非常重视UI绑定和组合视图 我想我知道ui绑定的基本优点,您可以随着模型的更改而更改视图的一小部分,而无需重新渲染整个视图。不过,我不一定明白这一点。如果你的视野很大,也许你应该缩小视野?我看过knockoutjs的代码,其中充斥着难看的数据绑定内容。emberjs是如何处理的?有没有一个例子 我不知道他所说的沉着的观点是什么意思,有人能解释一下吗 组合视图-与所有软件开发人员一样,我喜欢

我正在读:

我正在使用backbone.js。我喜欢它,尽管它需要太多的样板。无论如何

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

我想我知道ui绑定的基本优点,您可以随着模型的更改而更改视图的一小部分,而无需重新渲染整个视图。不过,我不一定明白这一点。如果你的视野很大,也许你应该缩小视野?我看过knockoutjs的代码,其中充斥着难看的数据绑定内容。emberjs是如何处理的?有没有一个例子

我不知道他所说的沉着的观点是什么意思,有人能解释一下吗

组合视图-与所有软件开发人员一样,我喜欢创建模块化的可重用代码。因此,在编写UI时,我会 希望能够合成视图(最好是在模板层)。 这还应该包含丰富视图组件的潜力 等级制度这方面的一个例子是可重用的分页小部件

有没有一个例子

谢谢

编辑:

这是否有助于生成类似组合视图的内容


在我看来,作者在这里谈论的似乎是服务器端代码。构建一个可重用页面模板系统,从一组常见的小部件、html片段等生成页面


Apache是实现这一点的一种方法。

传统的网页是单片的。用户调用页面,服务器构建页面,浏览器呈现页面。本文作者指的是将此类代码分解为一组视图。因此,您的页面由多个部分组成。每个部分都会独立渲染和更新。或者,一次模型更改可以触发部分或所有零件的一系列更新

基本上,这允许您在web上创建“桌面”类型的应用程序。你不必求助于iframe黑客来实现这一点


Gmail和Google Reader是使用组合视图构建web应用程序的好例子。

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

例如,在编辑用户的表单中,可以为地址字段创建一个视图,然后从主页/模板调用它。作者还以分页为例,在本例中,您可以创建一个模型,在页面之间切换时知道如何处理检索数据,并将其应用于页面中的表

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

也许这个例子会有帮助:

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


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

我也不完全明白,但是使用backbone.js modelbinding很有用。模型内容自动链接到视图中的表单元素。Addy Osmani也可能解决组合视图问题。我相信它还可以提供一种不同结构的UI绑定的替代方案。它为主干网提供了一个更基于小部件的系统。谢谢,这很有帮助。不过,我仍在寻找更具体的答案。js感觉它已经可以完成您所描述的内容。我很想知道它是如何缺失的,以及emberjs或类似产品是如何改进的。那么你认为layoutmanager会满足那个博客作者的要求吗?