我正在使用样板文件,我有这条路线,我的每个路线都有我的视图模型。
controller.addRoutes({
"editor" : new ContentEditor(context),
"quiz_editor" : new QuizComponent(context)
});
我正在寻找如何将编辑器的viewmodel中的变量发送到测验编辑器的viewmodel。
我在这个例子中看到了答案:
controller.addRoutes({
'user/{id}' : new UserComponent(context),
});
但这对我不起作用,因为我不希望变量进入get。如果我这样做,我需要使用window.location转到网址。所以我不喜欢它,我也不需要它。
我正在寻找一种更好的方法。 希望你能帮助我,拯救我的生命。
谢谢。
答案 0 :(得分:0)
我强烈建议您使用URL参数,原因如下: - 允许使用为quiz_editor的状态添加书签(例如,在电子邮件中发送链接) - 即使用户刷新页面,quiz_editor也会显示正确的状态 - 搜索引擎友好
如果您不想因某些奇怪的原因使用URL,可以使用“moduleContext.notify”和“moduleContext.listen”方法来使用事件总线进行通信。但这需要列出预先启动的模块。
另一种方法,如果使用中介对象(单例)作为要引用的不同组件的全局共享存储库。