流星与路由器 - 模板事件不触发

时间:2016-02-04 20:49:04

标签: javascript meteor iron-router

我有很多代码正在运行,但需要一种方法来切换"页面"使用Meteor,最常建议的解决方案是使用iron-router。在documentation之后,我将每个页面放入Template,如下所示:

<template name="home">
    <input type="date" id="start-date" style="width:1px;height:1px;padding:0;">
    <!-- More Random Code --> 
</template>

在我使用后正确渲染:

Router.route('/', function () {
  // render the Home template with a custom data context
  this.render('home', {data: {}});
}); 

在我使用之前:

Template.body.events({

}); 

我改为:

Template.home.events({

}); 

然而,加载到此的代码不再有效。在其中调用的一个函数是:

    "blur #start-date": function (event) {
        if( Meteor.user() && !StartDate.find({email:Meteor.user().emails[0].address}).fetch().length){
            var date = event.target.value;
            StartDate.insert({
                date: date,
                createdAt: new Date(), // current time
                user: Meteor.user()._id,
                email: Meteor.user().emails[0].address
            });
        }else{

        }
    }

1 个答案:

答案 0 :(得分:0)

当您使用Template.body时它起作用,因为它在文件的正文区域内运行。在&#34; home&#34;的片段中。你提供的模板,没有正文,即使它被识别为模板,也没有什么可以在那里实际渲染。添加头部,身体标签以及实际呈现的物体区域。另见:Meteor nested views and yields