我正在使用iron:router@1.0.0-pre3和meteor 9.3.1。
模板代码:
<head>
<title>ironman</title>
</head>
<body>
</body>
<template name="hello">
<button>Click Me</button>
<p>You've pressed the button {{counter}} times.</p>
</template>
Javascript代码:
if (Meteor.isClient) {
// counter starts at 0
Session.setDefault("counter", 0);
Template.hello.helpers({
counter: function() {
return Session.get("counter");
}
});
Template.hello.events({
'click button': function() {
// increment the counter when button is clicked
Session.set("counter", Session.get("counter") + 1);
}
});
Router.route('/', function() {
this.render('hello');
});
}
上面定义的路线不起作用。
但是,如果我将路线定义放在if (Meteor.isClient) {
之外,它就会开始工作。
这是设计的吗?请指教。
答案 0 :(得分:0)
这是设计的。
IronRouter允许您选择应用路线的位置:client
或server
。
默认情况下,所有路由都连接到客户端,但您可以选择将路由应用到服务器端:
Router.route('/item', function () {
var req = this.request;
var res = this.response;
res.end('hello from the server\n');
}, {where: 'server'});