0
我正在使用jQuery dataTables來顯示錶。我需要能夠將行選擇事件傳遞給處理選擇的Aura組件,並對來自該行的數據執行一些操作。在AuraJS中獲取組件參考
在initialize()
功能:
initialize: function()
{
$("#mytable tbody").click(function(event)
{
$(mytable.fnSettings().aoData).each(function()
{
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});
mytable = $('#mytable').dataTable();
},
我設立了行選擇單擊處理程序,但我如何得到一個參考包圍組件,所以我可以sandbox.emit()
功能發出的郵件?我可以將組件的引用放入Closure中,但實質上使得此組件成爲單例,並且我不可能同時在頁面上擁有該組件的兩個實例。
是否有一種標準的方式,使用jQuery選擇器或其他方法,我可以從click()
處理程序中檢索對封裝組件的引用?
編輯:我不應該嘗試寫代碼,直到我有32盎司的caffine。您可以通過click()
方法本身傳遞對當前組件的引用。像這樣:
$("#mytable tbody").click(this, function(event)
{
$(mytable.fnSettings().aoData).each(function()
{
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
event.data.sandbox.emit('mychannel', {data: 'stuff'});
});