带路由器的流星 - 模板事件未触发

Meteor with Router - Template Events not triggering

本文关键字:事件 路由器 流星      更新时间:2023-09-26

我有很多代码在工作,但需要一种方法来使用Meteor切换"页面",最常见的建议解决方案是使用iron-router。按照他们的文档,我将每个页面放入一个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{
        }
    }

当您使用Template.body时,它可以工作,因为它在文件的正文区域内运行。在您提供的"home"模板的代码段中,没有正文,即使它被识别为模板,也没有什么可以实际呈现的。添加头部、身体标签以及实际渲染事物的区域。另请参阅:流星嵌套视图和产量