【问题标题】:FlowRouter Reload Doesn't RouteFlowRouter 重新加载不路由
【发布时间】:2017-01-04 23:09:56
【问题描述】:

我正在使用 FlowRouter。如果我从主页开始,一切正常。我可以毫无问题地完成路线(更改页面)。但是,如果我在浏览器中点击刷新,我会收到一系列错误。我的网址如下所示:

/story/586d536e34821281735b53a4

在控制台中通过以下方法返回ID:

Tracker.nonreactive(function(){

我认为订阅正在完成,所以我有点困惑,为什么重新加载 url 与从主页加载不同。

我在这里不明白什么?

【问题讨论】:

  • 您看到的具体错误信息是什么?
  • 这是我得到的错误:TypeError: Cannot read property 'audio' of undefined at story.js:121 at Object.Tracker.nonreactive (tracker.js?hash=9f8a0ce…:631) at Object.audios (story.js:111) at blaze.js?hash=983d07a…:2994 at blaze.js?hash=983d07a…:1653 at blaze.js?hash=983d07a…:3046 at Function.Template._withTemplateInstanceFunc (blaze.js?hash=983d07a…:3687) ... 它转化为 IMO 的是 mongo find 正在返回 undefined 因为订阅没有正确完成。但仅在重新加载时。

标签: mongodb meteor meteor-blaze


【解决方案1】:

重新加载 url 将 向服务器发出 HTTP 请求以获取所有应用程序源。而从另一个路由导航到不会发出任何 HTTP 请求来获取应用程序源,因为它们已经可用(它们是从上一个路由加载的),在这种情况下,路由器只会获取适当的内容并在页面上呈现。这是 Meteor 应用程序和所有其他单页应用程序的正常行为

您遇到的错误是因为您的数据在客户端上尚不可用,如果值为undefined,您可以简单地使用占位符来修复它。

【讨论】:

    猜你喜欢
    • 2017-06-30
    • 2017-04-10
    • 1970-01-01
    • 2016-12-26
    • 2019-08-26
    • 2017-11-27
    • 2018-03-20
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多