2013-07-22 34 views
3

嗨我試圖在此模板中觸發click事件時嘗試獲取_id屬性值,如果單擊#each塊內的元素, _id屬性未定義。如果我對#each塊之外的元素執行相同操作,則會顯示正確的_id當模板事件在{{#each array}}塊內觸發時獲取_id

我使用這個JavaScript代碼來訪問 _id屬性

Template.main.events(
{ 
     'click .clickable' : function (event, template) 
     { 
      console.log(this._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> 

回答

2

你可以使用template.data._id:

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

謝謝,它的工作原理! – HubuN

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')); 
    } 
}); 
0

您必須先刪除DIV可點擊對象。