标签: javascript durandal
有谁知道在另一个视图模型中获取视图模型实例的最简单方法是什么。更具体地说,我想将一个视图模型的实例加载到另一个视图模型中,以便后者可以调用前者的方法。
durandal是否保留了合成期间使用的所有视图模型的列表?
我想有一种方法可以应用durandal支持的pub / sub模式。 另一种方法可能是借助knockout和dataFor utility函数手动获取视图模型。 但是,我想知道是否有一种方法可以显式获取组合视图模型的实例。
注意:我的模块公开构造函数而不是单例对象
答案 0 :(得分:2)
你可以通过使用RequireJS来引入viewmodel,就像使用另一个模块/ viewmodel一样。但是你真的想避免这种情况进行视图模式通信,而是选择events。
viewmodel将通过事件聚合器发布事件,然后另一个viewmodel订阅该事件。
查看“使用应用程序范围的消息”部分here。