Javascript Backbone.js+;GUI:我必须用视图和模型构建GUI,还是从一开始就用html加载它

Javascript Backbone.js+;GUI:我必须用视图和模型构建GUI,还是从一开始就用html加载它,javascript,templates,backbone.js,Javascript,Templates,Backbone.js,到目前为止,我只创建了一些小的测试应用程序,我不知道或者不知道如何最好地使用backbone.js来实现一个成熟的应用程序的GUI 我甚至在backbone.js文档中看到了最小的示例: var Sidebar = Backbone.Model.extend({ promptColor: function() { var cssColor = prompt("Please enter a CSS color:"); this.set({color: cssColor});

到目前为止,我只创建了一些小的测试应用程序,我不知道或者不知道如何最好地使用backbone.js来实现一个成熟的应用程序的GUI

我甚至在backbone.js文档中看到了最小的示例:

var Sidebar = Backbone.Model.extend({
  promptColor: function() {
    var cssColor = prompt("Please enter a CSS color:");
    this.set({color: cssColor});
  }
});

window.sidebar = new Sidebar;

sidebar.bind('change:color', function(model, color) {
  $('#sidebar').css({background: color});
});

sidebar.set({color: 'white'});

sidebar.promptColor();
这是否意味着我必须将GUI的每个元素包装到模型和视图中? 或者这是一种不良行为

我有一种感觉,这将过于复杂,我将能够很好地加载html文件中已经存在的gui,并仅为gui中需要动态内容的元素创建模型/视图

清楚地说明这个问题:构建gui是个好主意吗 槽模型/视图?如果是,是否创建1个全局视图?还是真的 在视图中构建每个元素?(标题/侧栏/导航栏/ 内容区/页脚/任何其他…

不幸的是,这在很大程度上是一个“视情况而定”的问题。这取决于应用程序需要做什么,需要通过主干对象对HTML进行多少控制,等等

我认为你不会找到这个问题的“正确答案”,因为这是非常主观的

相反,我建议您继续使用主干网,在主干网文档中查找现有示例应用程序的想法时,找出哪些实现适合您,以及何时适合您

我还强烈建议您购买backbonejs的Peepcode和Tekpub屏幕广播。它们值每一分钱。如果您没有在后端进行任何asp.net mvc 3工作,那么您可能可以跳过tekpub mvc 3系列(主干情节就在这里)


如果你搜索的话,也会有很多很棒的博客文章和参考实现。

主干的表示层主要是基于约定的,而不是像传统的gui框架主干那样提供丰富的预定义小部件和布局管理器的层次结构,根本无法创建gui,此外,还提供了一个推荐的结构,用于将视图层模块化为松散耦合的独立部分,这些部分可以自动更新以响应用户操作或模型更新。 模块化到什么程度完全取决于您。您可以构建自己的嵌套视图层次结构,例如,包含顶部工具栏和底部工具栏视图的侧栏视图,以及占据主体的列表视图,该列表视图还包括可以呈现的列表项视图。 您是否应该达到这种粒度级别完全取决于您的需要。例如,如果侧边栏中的导航链接列表是静态的,并且从不更改,那么视图嵌套的这种级别就是一种过度使用。但是,如果您的listview附加到一个集合,或者您需要一个从服务器增量获取的相关项的嵌套树,那么上述方法就是最好的选择。
拇指法则是将您的表示层考虑到视图类中,直到方便为止。

好吧,我同意我的问题很可能不是最容易回答的,这不是是或否的问题,更像是或否的问题,但是。。。不过,我会接受你对这些屏幕广播的建议,实际的.net开发人员asp.net mvc后端也让我感兴趣。谢谢你的提示!啊,那么我想说你应该先把这美元花在Tekpub系列上。整个mvc 3系列都非常出色,它涵盖的不仅仅是代码。这是一款真实世界应用所需要的一切。具体来说,第6集将介绍主干网及其与asp.net mvc后端的集成。