Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
meteor数据库插入到全局集合中_Meteor_Meteor Blaze - Fatal编程技术网

meteor数据库插入到全局集合中

meteor数据库插入到全局集合中,meteor,meteor-blaze,Meteor,Meteor Blaze,下面的代码应该在Tasks集合中插入selected item值,保留信息以供以后使用,并且headerLabel应该显示所选任务。当click.menuItem函数运行时,我无法使标题标签显示任务。谢谢 Tasks = new Mongo.Collection('tasks'); Template.mainMenu.events({ 'click .menuItem': function(event){ Tasks.insert({menuItem: $(event.current

下面的代码应该在Tasks集合中插入selected item值,保留信息以供以后使用,并且headerLabel应该显示所选任务。当click.menuItem函数运行时,我无法使标题标签显示任务。谢谢

Tasks = new Mongo.Collection('tasks');

Template.mainMenu.events({
  'click .menuItem': function(event){
   Tasks.insert({menuItem: $(event.currentTarget).data('value')});
 }
});

Template.header.helpers({
 headerLabel: function( id ){
 return Tasks.findOne({_id: id}).menuItem;
 },
  tasks: function(){
  return Tasks.find();
 }
});

<template name="mainMenu">
<div class="container">
<div class="row">
  <section class="col-xs-12">
    <div class="list-group">
      {{#each menuItems}}
        <a href="#" class="list-group-item menuItem" data-value={{menuItem}}>
          <img src="/abc.png">
          {{menuItem}} <span class="badge">&#x3e;</span>
        </a>
      {{/each}}
    </div>
  </section>
</div>
Tasks=newmongo.Collection('Tasks');
Template.main菜单.events({
“click.menuItem”:函数(事件){
insert({menuItem:$(event.currentTarget.data('value'))});
}
});
Template.header.helpers({
headerLabel:函数(id){
返回Tasks.findOne({u id:id}).menuItem;
},
任务:函数(){
返回任务。find();
}
});
{{{#每个菜单项}
{{/每个}}


☰
{{{if headerLabel}{{headerLabel}}{{else}}选择一项{/if}
⋮

假设单击可以发生多次,您需要将相应任务的id传递给您的助手:

Tasks = new Mongo.Collection('tasks');

Template.mainMenu.events({
  'click .menuItem': function(event){
   Tasks.insert({menuItem: $(event.currentTarget).data('value')});
 }
});

Template.header.helpers({
  headerLabel: function( id ){
    var task = Tasks.findOne({_id: id});
    if( task ) {
      return task.menuItem;
    }
  },
  tasks: function() {
    return Tasks.find();
  }
});
所以我要做的是找到一个任务的menuItem,它的ID传递给助手。我还添加了一个
tasks
helper来获取所有任务。因此,您的模板可能类似于:

<template name="mainMenu">
    {{#each task in tasks}}
        <h4>{{headerLabel task._id}}</h4>
        <!-- Additional code here... -->
    {{/each}}
</template>

{{{#任务中的每个任务}
{{headerLabel任务_id}}
{{/每个}}

显然,您需要根据自己的具体情况定制HTML,但这应该能为您提供要点。希望有帮助

你什么意思?click事件未触发或插入无效?我发布了模板,headerLabel未显示正在单击的菜单项。您是否按照我的建议修复了帮助程序?是的,并发布了更新的建议以供确认。任务对象是否正确插入?当您在控制台中执行
Tasks.find().fetch()
时,您是否得到了预期的结果?是的。但初始页面重新加载会出现异常(模板帮助程序中的异常:TypeError:无法读取Object.template.header.helpers.headerLabel处未定义的属性“menuItem”)
<template name="mainMenu">
    {{#each task in tasks}}
        <h4>{{headerLabel task._id}}</h4>
        <!-- Additional code here... -->
    {{/each}}
</template>