首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在骨干路由器中构造多个视图的使用

如何在骨干路由器中构造多个视图的使用
EN

Stack Overflow用户
提问于 2014-04-25 18:35:00
回答 1查看 78关注 0票数 0

我正在使用Require.js和Backbone.js制作一个页面应用程序。这是一个相当大的网页应用程序,有很多不同的“页面”,也就是视图。下面是我的路由器给你一个想法。有几个主页面有子页面。

例如,有一个设置部分,它有多个不同的子页面,例如用户设置、语言设置、电子邮件设置等。

为了简单起见,我将如何构造多条路线及其视图?

现在,我给每个子页面它自己的视图,但这意味着我必须将20-30个视图导入路由器,以便当该页面被路由时,所有可能的视图都可用。

我想到的另一种方法是对每个部分都有一个视图,在这个视图中,我应该加载不同的部分。那样的话,我只需要将5-6部分的视图加载到路由器中.但是那样的话,这个观点就必须理解路由。

有什么正确的方法做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-25 23:44:30

我创建了负责视图呈现和模型获取的“控制器”对象。

我更喜欢在任何时候保持路由器的干净,这意味着我不会让它与回调功能相混淆。这样做会使路由器随着时间的推移而变得一团糟,而其部分目的则是快速了解可用的路由。

在主干中,我发现创建自己的约定非常有用,就像框架所做的那样。

例如,对于我创建的每个视图,我将创建一个控制器对象。

每个控制器对象都有一个名为“makeView()”的方法,它负责视图的呈现以及内存管理。

在我自己的理论中,我创造了一种“级联控制器”的方法,即一个控制器也可以控制其他控制器,控制器可以使用‘助手’对象来完成某些任务。例如,当您说您可能需要管理20个视图和子视图时;我们可以想象其中一些视图是相互关联的;将有一个中央控制器负责相关视图之间的公共任务,而特定控制器负责处理特定的单独视图功能。

我的路由器中的一条路由如下所示:

代码语言:javascript
复制
    auth: function(){ 
        //--- Check the authStatus and render status independent views 
        var auth_ctr = new Auth_ctr(); 
        auth_ctr.makeViews(); 
    }

在给出的示例中,您可以想象您将创建和呈现多个视图。所以我真正要做的是从控制器内部实例化新的控制器,每个控制器分别创建和管理视图,提供支持视图的功能,获取收集/模型数据。

重要的是创建一种独立的“视图管理器”,防止每次呈现新视图时发生内存泄漏。

我就是这样做的,但当然,我相信有些人会采取不同的做法。

这是我提出的一个理论,它给了我一个清晰的结构,到目前为止,它一直对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23300549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档