簡體   English   中英

MeteorJS在單擊事件中獲取MongoDB ID

[英]MeteorJS get MongoDB ID in click event

我的MeteorJS應用程序中有以下mongo集合:

//Server side, load all the images
Images = new Mongo.Collection('images');
Meteor.startup(() => {
  if(Images.find().count() == 0){
    for(var i = 1; i < 23; i++){
      Images.insert({
        src:"img_"+i+".jpg",
        alt:"image "+i
      });
    }
  }
});

我將其傳遞給模板,並且可以正常工作。 但是,我然后要檢索圖像的MongoDB id (該ID是MongoDB中的主鍵/唯一ID)。 我使用以下代碼進行操作:

//Client side, get the collection and load it to the template
Images =  new Mongo.Collection('images');

Template.images.helpers({images:Images.find()});

Template.images.events({
  'click .js-del-image': (event) => {
    var imageId = event._id;
    console.log(imageId);
  }
});

這使我undefined 我究竟做錯了什么? 我以為this._id應該給我MongoDB ID。

作為記錄,這是我的模板, _id屬性已填寫:

<template name="images">
        <div class="row">
      {{#each images}}
      <div class="col-xs-12 col-md-3" id="{{_id}}">
        <div class="thumbnail">
            <img class="js-image img-responsive thumbnail-img" src="{{src}}"
            alt="{{alt}}" />

            <div class="caption">
                <p>{{alt}}</p>
               <button class="js-del-image btn btn-warning">delete</button>
            </div>
         </div>
        </div> <!-- / col -->
      {{/each}}
    </div> <!-- / row -->
</template>

問題出在函數的聲明中:

  • (event) => { ... }似乎具有_idundefined
  • function(event) {...}似乎具有正確的上下文。

有關(event) => {...} vs function(){...}聲明的更多信息,請參見此答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM