其他分享
首页 > 其他分享> > 的铁-路由器不呈现模板

的铁-路由器不呈现模板

作者:互联网

我正在使用iron:router软件包处理流星.
我的JavaScript文件包含:

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

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

我的html文件包含:

<head>
  <title>test</title>
</head>

<body>
  <h1>Welcome to Meteor!</h1>

</body>

<template name="hello">
  <button>Click Me</button>
  <p>You've pressed the button {{counter}} times.</p>
</template>

<template name="home">
  <h2>Home</h2>
  <p>You are on the home screen.</p>
</template>

无论我写的是什么(在the tutorial中指定为localhost:3000 / hello或localhost:3000 /),无论它什么都不会渲染任何模板.它仅显示标题“ Welcome to Meteor!”.就是这样.

当我写任何其他未声明的地址(例如localhost:3000 / abc)时,它显示了我:

Welcome to Meteor! Oops, looks like there’s no route on the client or
the server for url: “07001.”

因此,它肯定在javascript文件中做正确的事,因为它可以识别它应该知道的模板,但是当编写正确的地址时,它什么也没显示.

我尝试查看其他解决方案,以及其他解决方案,检查软件包名称是否为“ iron:router”而不是“ iron-router”,但没有任何效果.请帮我…

编辑:根据要求,这是项目https://github.com/yokhen/test2的存储库

解决方法:

首先,我必须添加EJSON包,因为iron:router没有看到它(尽管我在Windows上进行了测试,也许这就是为什么我遇到这个问题)

流星添加ejson解决了它

您的项目目录应类似于:

enter image description here

Routes.js

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

Router.route('/items');

test2.js

Template.items.helpers({

});

Template.items.events({

});

Template.Home.helpers({

});

Template.Home.events({

});

test2.html

<template name="Home">
    <h1>Simplest template home ever</h1>
</template>

<template name="items">
    <h1>Simplest home items template</h1>
</template>

标签:iron-router,templates,meteor,render,javascript
来源: https://codeday.me/bug/20191119/2037943.html