Meteor 不同选项卡中的不同URL路径取决于id

Meteor 不同选项卡中的不同URL路径取决于id,meteor,iron-router,Meteor,Iron Router,假设用户有一个项目列表,每个项目都有它自己的一组由项目关联的图表、报告、标签等组成的各种集合项 当用户选择一个项目时,所有相关的集合项都可以按路线查看,例如/project//chart/ 目前,用户一次只能查看一个项目。如果他打开一个新选项卡或新浏览器,他仍然只能查看一个项目。如果他切换项目,所有其他选项卡/窗口都会响应性地更改为新项目。这是因为目前该项目与Meteor.user.profile.projectId绑定(但我正在寻找更好的方法) 我想改变这种行为,使选项卡和窗口彼此独立。如果用

假设用户有一个项目列表,每个
项目
都有它自己的一组由
项目关联的
图表
报告
标签等组成的各种集合项

当用户选择一个
项目时
,所有相关的集合项都可以按路线查看,例如
/project//chart/

目前,用户一次只能查看一个项目。如果他打开一个新选项卡或新浏览器,他仍然只能查看一个项目。如果他切换项目,所有其他选项卡/窗口都会响应性地更改为新项目。这是因为目前该项目与Meteor.user.profile.projectId绑定(但我正在寻找更好的方法)

我想改变这种行为,使选项卡和窗口彼此独立。如果用户将
project\project1
粘贴到新窗口中,即使当前选项卡位于
project\project2
中,也应加载该窗口及其关联的集合。我希望这是有道理的


我不知道如何做到这一点。我正在寻找建议和解决方案。谢谢。

我相信这可以通过使用会话变量轻松完成:

  • 在客户端代码中的某个地方设置默认值,
    Session.setDefault('project',1)
    (或者确保未定义的项目被优雅地处理)

  • 当用户选择项目时,设置变量:
    Session.set('project',[selectedProjectId])

  • 需要决定显示哪个项目的位置:
    Session.get('project')


  • 我考虑过这一点,但我不确定这是否会起作用,因为会话不会在页面加载期间持续存在。比如说,一个用户点击了blah.com/project/project2/chart/chartid的链接(比如通过电子邮件)。meteor如何在客户端设置会话项目?如果你不介意的话,我想举个例子。事实上,让我来试试。我想我明白你的意思了。我已经在使用会话变量来管理当前选择的项目。我想我只需要删除user.profile.projectd位,它就可以工作了。每个选项卡都有自己的会话变量,而不是在user.profileyup下定义的公共会话变量。谢谢我肯定是想得太多了。