使用js访问流星模板的DOM

时间:2016-09-23 14:14:29

标签: javascript jquery mongodb meteor

这是我的 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}}

1 个答案:

答案 0 :(得分:0)

在帮助函数中,您应该已经可以通过此上下文变量或Template.instance()。data访问此数据。您的事件处理程序应如下所示:

'click cssSelector'(event,instance) {
    event.preventDefault();
}

如您所见,第二个参数是模板实例,因此您可以使用instance.data访问数据,或者使用event.currentTarget来确定单击并从那里开始的元素。请发布您的帮助者或事件处理代码,以便我们可以看到您正在尝试做什么并遇到问题。