【问题标题】:Meteor Iron:Router Loading Blank PageMeteor Iron:路由器加载空白页
【发布时间】:2016-02-09 14:20:00
【问题描述】:

在我解决主要问题之前,我预计有人会问你运行的是什么版本的 Iron:router。

我相信我目前使用的是最新版本的 Meteor,因为当我输入 iron update iron:router 时,它会显示“您的软件包是最新的兼容版本。”。

但是,当我进入 iron show iron:router 时,它会显示 1.0.8 2015 年 6 月 1 日 1.0.9 2015 年 6 月 2 日安装 1.0.10 2015 年 10 月 6 日 1.0.11 2015 年 10 月 9 日 1.0.12 2015 年 10 月 9 日

好像安装了 1.0.9 版...所以不知道如何补救这种情况或这对主要问题有何影响。

主要问题是当我去我的默认 localhost:3000/ 时,它会显示一个空白的白色页面......它应该呈现我的“主页”模板,我的代码显示在下面。如果有人对为什么要呈现空白页面有任何见解,并且可以提供一些帮助,那就太好了。

这是我的代码:

Router.route('/', function () {
this.render('Home');
});

Router.configure({
layoutTemplate: 'Home',
loadingTemplate: 'Loading',
notFoundTemplate: 'NotFound'
});

【问题讨论】:

    标签: javascript meteor iron-router


    【解决方案1】:

    您正在尝试将Home 渲染为Home。当你有一个layoutTemplate 时,它通常包含一个{{> yield}},然后它会被你实际渲染的任何模板替换。试试:

    html:

    <template name="layout">
    ... whatever you need on every layout, ex: header
    {{> yield }}
    ... things like your footer
    </template>
    

    js:

    Router.configure({
      layoutTemplate: 'layout',
      loadingTemplate: 'Loading',
      notFoundTemplate: 'NotFound'
    }); 
    

    【讨论】:

    • 谢谢,这很有意义。但现在我收到一条消息:“找不到名为“MasterLayout”或“masterLayout”的模板。你确定你定义了它吗?”。 MasterLayout 是所谓的“Home”的旧模板名称(但我改为 Main)。为什么还要渲染旧模板?我已经清除了浏览器缓存等。
    • grep 你的 MasterLayout 代码,看看它还在哪里。很可能它就在某个地方。
    • 是的。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多