流星删除功能不适用于收藏夹

时间:2019-09-21 19:42:52

标签: javascript mongodb meteor

我正在与Meteor一起练习,我不明白为什么MongoDB集合的remove功能无法正常工作。 这是我的html模板,在其中创建了一个按钮来删除新闻:

<template name="news">
  <h2>News</h2>
  <form>
    <input type="text" name="title" placeholder="Add some news">
    <button>Add</button>
  </form>
  <ul>
  {{#each News in showNews}}
  <li>{{News.title}}<button class="removeAction">&times;</button></li>
  {{/each}}
</ul>
</template>

这是我的client.js文件,我在其中创建了执行删除功能的事件:

Template.news.events({
  'submit form': function(e) {
    e.preventDefault();
    var title = e.target.title.value;
    News.insert({ title: title, createdAt: new Date() });

    e.target.title.value = "";
  },
  'click .removeAction': function(e, a) {
    News.remove(this._id);
  }
});

我真的不明白为什么它不起作用,我尝试了很多更改,但没有任何效果,当我单击“ X”按钮时,什么都没有发生。

1 个答案:

答案 0 :(得分:0)

最可能的问题是未定义this._id。我认为您没有使用正确的方法。我不是一个狂热的用户,但我认为这会起作用。

<template name="news">
  <h2>News</h2>

  <form>
    <input type="text" name="title" placeholder="Add some news">
    <button>Add</button>
  </form>

  <ul>
  {{#each showNews}}
    {{> newsPost}}
  {{/each}}
  </ul>
</template>

<template name="newsPost">
  <li>{{title}}<button class="removeAction">&times;</button></li>
</template>

您的removeAction事件侦听器应如下所示。

Template.newsPost.events({
  'click .removeAction': function(e, a) {
    News.remove(this._id);
  }
});