Meteor 流星不能';t举行会议';页面间的s值

Meteor 流星不能';t举行会议';页面间的s值,meteor,Meteor,我面临的一个问题是,如果将一个网页移动到另一个网页,Meteor将无法保存会话的值。我是流星的新手,也许我误用了。 如何处理页面间会话的值?即使页面移动到另一个页面或浏览器被重新加载,我也希望保持会话的值 我计划使用诸如Meteor、Mojito和Express(Node.js)等Javascript框架构建一个Web应用程序,并在开发之前对其进行测试 我正在使用Meteor版本0.5.2(6635ae1007)和 Chrome版本23.0.1271.95 以下是测试代码和测试步骤: (1) 单

我面临的一个问题是,如果将一个网页移动到另一个网页,Meteor将无法保存会话的值。我是流星的新手,也许我误用了。 如何处理页面间会话的值?即使页面移动到另一个页面或浏览器被重新加载,我也希望保持会话的值

我计划使用诸如Meteor、Mojito和Express(Node.js)等Javascript框架构建一个Web应用程序,并在开发之前对其进行测试

我正在使用Meteor版本0.5.2(6635ae1007)和 Chrome版本23.0.1271.95

以下是测试代码和测试步骤:

(1) 单击“测试”按钮:

这将“结果是”标签更改为“结果是正常的”

(2) 单击“返回首页”链接或重新加载浏览器:

我想保留标签“Result is OK”,但它会返回到“Result is”。 这意味着会话值未定义

test.js

if (Meteor.isClient) {
  Template.test.result = function() {
    var result = Session.get('TEST');
    console.log('Result: %s', result);
    return result;
  }

  Template.test.events({
    'click' : function() {
        Session.set('TEST', 'OK');
    }
  });
}
test.html

<head>
  <title>sample-session</title>
</head>

<body>
  <h1>Session Test</h1>
  <a href="./">Back to Top page<a/><br/>
  {{> test}}
</body>

<template name="test">
  <input type="button" value="TEST"></input><br/>
  Result is {{result}}.
</template>

示例会话
会话测试
返回首页
{{>测试}
结果是{Result}。
更新Meteor现在有了一种方法,可以完全满足您的期望

下面的原始答案

meteor中的
session
对象与其他框架(Rails/ASP.NET MVC/PHP)中的
session
概念有着本质的不同,它在meteor中的主要功能是充当客户端代码的代理

它不是为实现上面所期望的功能而设计的,只要你的链接启动,客户端上下文就会被删除,所有客户端会话值都会消失。Meteor应用程序不是为传统意义上的导航而设计的,所以这就是为什么看起来如此混乱的原因。这完全可以理解:)

与传统意义上的导航不同,我建议您看一看,这有助于简化传统方法和更具流星风格方法之间的过渡

如果您确实需要按照上面描述的方式持久化数据,那么您需要研究在客户端本地持久化数据的方法


提示:当您在中了解Meteor时,请密切注意每个部分右上角的客户机/服务器/任意位置的名称。

谢谢您的帮助回答。现在我明白了Meteor中的session这个词。我会检查meteor路由器并放大您上面建议的智能包。