在{{#each array}}块内触发模板事件时获取_id

时间:2013-07-22 12:13:34

标签: javascript meteor

您好我在此模板中触发_id事件时尝试获取click属性值,如果我点击#each块内的元素{{1} }属性未定义。如果我对_id块之外的元素执行相同操作,则会显示正确的#each

_id

我正在使用此JavaScript代码访问 <template name="main"> <div class="clickable"> if click here you can get de _id value</div> {{#each array}} <div class="clickable"> if click here you can't get de _id value</div> {{/each}} </template> 属性

_id

我可以以某种方式从Template.main.events( { 'click .clickable' : function (event, template) { console.log(this._id); } } 块内创建的元素访问_id吗?

3 个答案:

答案 0 :(得分:2)

您可以使用template.data._id:

Template.main.events({
    'click .clickable': function(event, template) {
        console.log(template.data._id);
    }
});

答案 1 :(得分:1)

使用data属性:

<template name="main"> 
    <div class="clickable" data-id="{{_id}}">Click</div>
    {{#each array}}
        <div class="clickable" data-id="{{_id}}">Click</div>       
    {{/each}}         
</template>



Template.main.events({
    'click .clickable': function(event, template) {
        console.log($(event.target).data('id'));
    }
});

答案 2 :(得分:0)

您必须删除第一个可点击的div对象。