Durandal中不同类型用户的多个Shell(视图和视图模型)和路由器

时间:2015-01-29 18:25:33

标签: shell single-page-application durandal router composition

所以我正在尝试构建一个拥有两种不同用户的应用程序,即客户和卖家。该应用程序的设计使得它们都具有不同类型的导航栏并通过路径访问不同类型的页面。因此,我试图看看实现这一目标的最佳方法是什么?我正在考虑以下任一解决方案: 1.在我的shell.html中使用compose binding或areas,并通过拥有一个容器并基于某个条件,将注入正确的特定视图(局部视图),并且默认绑定上下文将是一个常见的shell.js。但是,导航栏和显示的每个导航面板由具有

的路径确定
nav:true

卖家和客户都会有不同的路线标记为 nav:true 。如果我们使用这种方法,有没有办法解决这个限制? 2.使用compose绑定,但有两个不同的视图和视图模型,我们绑定到我们的shell.html和shell.js。换句话说,将有两个路由器。但是,我已经阅读了很多关于有两个路由器的帖子,并且显然在应用程序中显然有多个主路由器。还有另外一种方法可以解决这个问题吗?我一直在考虑拥有多个SPA,但我认为这样做效率不高,因为这是一个移动应用程序。非常感谢任何帮助或建议!

1 个答案:

答案 0 :(得分:1)

您可以简单地开发两个单独的SPA,但让它们共享大部分相同的代码库。使用这种方法,除了您负责模块化代码以便重用之外,没有什么特别之处。

这种方法还可以消除整个广泛逻辑的需要,以便根据当前登录的用户缩减,修剪或扩充Web应用程序。