Javascript 当路由器使用和内部视图时,尤其是在主干网/应用程序中
主干路由器是否也应该用于嵌套视图,因为它用于在更完整的页面视图和其他类别之间导航?何时使用路由器,何时使用内部视图 例如,主视图页面具有选项卡,每个选项卡用于显示另一个视图及其模型和集合。此主视图类似于Twitter或Facebook。如何呈现此完整页面:Javascript 当路由器使用和内部视图时,尤其是在主干网/应用程序中,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,主干路由器是否也应该用于嵌套视图,因为它用于在更完整的页面视图和其他类别之间导航?何时使用路由器,何时使用内部视图 例如,主视图页面具有选项卡,每个选项卡用于显示另一个视图及其模型和集合。此主视图类似于Twitter或Facebook。如何呈现此完整页面: 通过路由器导航到选项卡单击上的子视图,并通过子视图渲染功能进行渲染,然后通过homeview渲染将它们放置在主视图页面中,或者路由器不适合此目的。优点:a.可添加书签的子视图,b?更易于维护的代码。缺点:页面上刷新homeview部分未呈现,
或者还有其他更好的方法吗?归根结底,这是主观的;对于何时应该启动由
主干.Router
路由触发的新页面视图,以及何时应该在不涉及路由的情况下重新呈现DOM的一部分的子视图,没有任何规则。实际上,这只是一个问题,你是否希望用户感觉他们已经进入了一个新的页面或没有。问问自己:
- 您希望他们能够在浏览器中单击后退/前进吗
- 您是否希望他们能够将“页面”添加到书签中
- DOM的大部分在改变还是只是一小部分
换句话说,当用户进入
主干网.Router
页面时,表示您的站点状态发生了重大变化。实际上,所有书签/历史记录条目/重要的DOM更改都只是这一点的反映。所以,如果你觉得一个重大的变化正在发生,无论这对你和你的网站意味着什么,那就制定一条路线。否则,只需重新呈现一个视图
有人读过吗,知道答案吗?如果有人刷新页面,任何应用程序/网站都无法呈现,这不是不可取的吗?如果我使用路由器,这就是我面临的情况。或者我不知道如何克服这个刷新问题,同时使用路由器。在我的应用程序中,这些页面一起存在于DOM中,它们只是通过一张完整的页面幻灯片出现在屏幕上(如果不尝试实现,则每次都会被抓取)。它给人的感觉是在滑动之间有着相同的页面。三个问题的答案几乎都是否定的。我只是在尝试获得最佳实践。我认为这是使用路由器作为控制器。我很困惑:你指的是什么“刷新问题”?使用路由器
并为“页面”创建路由的要点之一是,用户可以在刷新时返回到该“页面”。此外,您不应将路由器
视为控制器。来自主干网站:“如果有帮助,在主干中,视图类也可以被视为一种控制器,调度源自UI的事件,HTML模板作为真实视图。我们称之为视图,因为它代表UI的逻辑块,负责单个DOM元素的内容。”换句话说,Backbone.View
不仅仅是MVC中的V,而路由器
只是站点整体控制器的一部分。我指的是这样的情况:当使用路由器显示这些子视图部分时,当我在单击homeview的tab后刷新以按预期显示整个页面的子视图时,在路由器中到达它的路由,因此它的相应方法将创建一个子视图实例,并从路由器内部调用它的render。但一般来说,首先,应用程序在到达某个点之前加载了主视图。它在单击事件时显示子视图以导航到子视图路径,并且它已经呈现了自己的主视图部分,如标题栏和导航栏,其中包括显示子视图的可单击选项卡。我在理解您时有点困难,但我认为你所指的问题是:1)大部分站点负载,2)路由器处理路由,3)页面子视图呈现页面的一部分。因此,您的用户可以看到站点负载的一部分,然后再看到其余部分。这就是问题所在吗?