这是我的 meteor 模板:
{{#each p}}
<div class="cpl">
<div class="chat-post">
<li class="post">
<div class="nm" id={{_id}}>
<a>{{username}}</a>
</div>
<div class="con">{{content}}</div>
<div class="cnm">
<div class="t">{{time}}</div>
<div class="m" id="cm">
<a>message </a>
</div>
</div>
</li>
</div></div>
{{/each}}
// TEMPLATE FOR PF
<template name="pf">
<form id="post-box">
<textarea id="new" required></textarea>
<button type="submit">Post</button>
</form>
</template>
//这是我的帮助和活动处理PF和PC,收集名称ROST
Template.pc.helpers({
p: function(){
return Rost.find({}, {sort:{created:-1}});
}
});
Template.pf.events({
'submit form': function(event){
event.preventDefault();
var content= document.getElementById('new').value;
var date= new Date(),
h=(date.getHours()<10?'0':'') +date.getHours(),
m=(date.getMinutes()<10?'0':'')+date.getMinutes();
var time=h+':'+m;
var username= Meteor.user().username;
Rost.insert({
content: content,
created:date,
time:time,
username: username
});
event.target.reset();
}
});
我使用meteor和mongo作为数据库,其中{{username}}
,{{content}}
和{{time}}
是对象的变量。
如何使用JavaScript访问{{username}}
?
答案 0 :(得分:0)
在帮助函数中,您应该已经可以通过此上下文变量或Template.instance()。data访问此数据。您的事件处理程序应如下所示:
'click cssSelector'(event,instance) {
event.preventDefault();
}
如您所见,第二个参数是模板实例,因此您可以使用instance.data访问数据,或者使用event.currentTarget来确定单击并从那里开始的元素。请发布您的帮助者或事件处理代码,以便我们可以看到您正在尝试做什么并遇到问题。