iron-router 不在 Meteor 中渲染模板

iron-router does not render template in Meteor

我已经为我的 meteor 应用程序安装了大气包 iron:router。我正在尝试添加这样的简单路线:

Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
notFoundTemplate: 'notFound'
});

Router.route('/', {
    name : 'homeIndex'
});

我定义了一个模板:

<template name="homeIndex">
    <h1>Test for my meteor application</h1>
</template>

然后我将 yield - 字段添加到我的布局模板中:

<template name="layout">
    <div class="container">
        {{> yield}}
    </div>
</template>

但是当我转到 '/' 时,我仍然没有看到我的模板的任何内容。

另外,当我尝试使用另一个模板添加另一条路线时,它不起作用。我已经通过这个命令安装了这个包:meteor add iron:router

有人可以告诉我我做错了什么吗?

如果你想在用户转到特定路线时呈现模板,你应该使用 this.render('templateName');。在你的例子中,你只定义了一个 named route,但你没有指定要呈现的模板。

Router.route('/', function () {
    this.render('homeIndex');
}, {
    name: 'homeIndex'
});

当我在浏览器中查看我的控制台时,我看到 iron router 包正在抛出一个异常,即 EJSON 在包的 javascript 中未定义。我用命令 meteor add ejson 安装了 EJSON 包,它被修复了!不过还是谢谢你的帮助!