【问题标题】:Communicating viewmodels with different urls使用不同的 url 通信视图模型
【发布时间】:2014-07-04 07:41:18
【问题描述】:

我正在使用样板文件,并且我有这条路线,其中每条路线都有我的视图模型。

controller.addRoutes({
            "editor" : new ContentEditor(context),
            "quiz_editor" : new QuizComponent(context)
        });

我正在寻找如何将变量从编辑器的视图模型发送到测验编辑器的视图模型。

我看到了这个例子的答案:

controller.addRoutes({
'user/{id}' : new UserComponent(context),
});

但这对我不起作用,因为我不希望变量进入 get。如果我这样做,我需要使用 window.location 来访问 url。所以我不喜欢它,也不需要它。

我正在寻找一种更好的方法来做到这一点。 希望你能帮助我,挽救我的生命。

谢谢。

【问题讨论】:

    标签: boilerplatejs


    【解决方案1】:

    出于以下几个原因,我强烈建议您使用 URL 参数: - 它允许使用书签 quiz_editor 的状态(例如,在电子邮件中发送链接) - 即使用户刷新页面,quiz_editor 也会显示正确的状态 - 搜索引擎友好

    如果你因为一些奇怪的原因不想使用 URL,你可以使用“moduleContext.notify”和“moduleContext.listen”方法来使用事件总线进行通信。但这需要列出预先启动的模块。

    另一种方法是使用中介对象(单例)作为不同组件引用的全局共享存储库。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 2015-11-24
    • 2012-06-28
    相关资源
    最近更新 更多