Meteor 如果用户';s的缓存不热

Meteor 如果用户';s的缓存不热,meteor,Meteor,在我们的应用程序中复制的步骤: 注销 清除缓存 重新加载页面 登录。 实际情况:你留在头版。 预期:应用程序打开 如果用户登录,我们的主模板将显示应用程序(特别是,{{{if currentUser}})。否则,它会显示一个启动页面,用户可以在其中创建帐户并登录 我们正在使用{{loginButtons}助手 这是否是Meteor.flush()的用例?我如何在用户登录时触发它Meteor.autorun()?是否逻辑实际上不在您定义的模板中,而是在index.html本身中?我可以看出,如果它

在我们的应用程序中复制的步骤:

  • 注销
  • 清除缓存
  • 重新加载页面
  • 登录。 实际情况:你留在头版。 预期:应用程序打开
  • 如果用户登录,我们的主模板将显示应用程序(特别是,
    {{{if currentUser}}
    )。否则,它会显示一个启动页面,用户可以在其中创建帐户并登录

    我们正在使用
    {{loginButtons}
    助手


    这是否是Meteor.flush()的用例?我如何在用户登录时触发它
    Meteor.autorun()

    是否逻辑实际上不在您定义的模板中,而是在index.html本身中?我可以看出,如果它没有被分解成某种头版逻辑模板(您可以从中调用其他模板),那么它可能会导致问题。只是个主意

    这里有几件事情导致了一个解决方案

  • 我重组了我的首页模板,将
    {{{loggingIn}}
    考虑在内。以前,我只使用
    {{currentUser}

  • 我确保我没有在模板帮助程序中设置
    Session
    变量,特别是那些我也在其他代码路径中获取它们的变量。这就解释了为什么这个问题感觉像是一个竞争条件,并且只发生在我所说的“冷缓存”中


  • 此外,视图没有改变的原因是错误阻止了它这样做。因此,这是一个症状,而不是实际问题(尽管我确实需要稍微改进模板条件)。

    这非常令人惊讶。你能在一个简化的例子(即,不是你的整个应用程序)中重现这一点吗?其他人可能会看到,但可能不会马上看到。当我们有机会的时候,我会重新编辑我的问题和评论。事实上,这不起作用:(-有时还会发生。还有其他想法吗?