3

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

  <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>

我正在使用这个 javascript 代码来访问_id属性

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

我可以以某种方式访问​​在块_id内创建的元素吗?#each

4

3 回答 3

2

您可以使用 template.data._id :

Template.main.events({
    'click .clickable': function(event, template) {
        console.log(template.data._id);
    }
});
于 2013-07-22T13:06:14.833 回答
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'));
    }
});
于 2013-07-22T12:25:36.987 回答
0

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

于 2013-07-22T12:53:05.383 回答