Durandal - 在没有路由器的情况下激活视图模型

时间:2015-09-22 08:53:55

标签: single-page-application durandal

我有一个模块的以下设置:

  • Shell(有路由器)
    • 工作区模块
      • 屏蔽1
      • 画面2

我希望工作区显示几个不同的视图,从中收集信息,并将一些数据发送到我的api。我已经开始在工作区上设置子路由器,但这意味着屏幕所以解耦,我无法进入屏幕viewmodel对象。这意味着我无法回复他们已经完成所需工作的工作区。我也关注各种视图模型的“生活方式” - 我会做类似import workspace = require('workspaceViewMode');的事情,但我不确定会得到什么样的工作空间。

什么是正确的方法?儿童路由器实际上是最好的方法,还是我应该尝试直接使用“激活器”(与文档挣扎)?

1 个答案:

答案 0 :(得分:0)

从尝试并仔细阅读文档开始,似乎因为工作区有一个子路由器,它的实例在导航过程中保持不变。我通过在激活时为自己分配一个guid,并在每个屏幕视图模型中检查导入实例上的guid来测试它。

所以我的解决方案是在工作区上提供要调用的屏幕的方法,然后工作区将决定如何处理它们。

呼<!/ em>的