[英]“click html /deep/ #id” not working in MeteorJS template event handler
[英]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) => { ... }
似乎具有_id
的undefined
。 function(event) {...}
似乎具有正確的上下文。 有關(event) => {...}
vs function(){...}
聲明的更多信息,請參見此答案 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.