如何在反应表中单击表行的列之一时获取表行的数据上下文

How to get data context of a table row when clicking on one of its column, in a reactive table?

本文关键字:一时 获取 上下文 数据 单击      更新时间:2023-09-26

在反应式表中,数据上下文被传递到整行,我必须在单击其中一列时触发一个事件,然后使用传递给该行的数据。

"click td": function(event, tmpl) {
    //here "this" doesn't give the data,even "tmpl" doesn't have it. 
}

在 Meteor 的事件处理程序中,第二个参数将是定义事件的模板的实例。从模板实例中,可以获取数据上下文。在您的情况下:

Templates.myTableRow.events({
    'click td': function(event, template) {
        console.log("Row data context is:", template.data);
    }
});

事件冒泡到父"tr",向其添加一个类,然后在"tr"上触发单击事件,并编写一个事件,用于单击包含该类的元素。在点击tr内,你会得到"this"中的完整数据,你可以将"this"的内容保存在反应式字典中,点击"td"即可访问反应式词典。单击获得的 tr 元素后,可以删除添加的元素类,使其单击安全。你可以在这里找到更详细的解释:javascript中是否有任何事件只能通过脚本触发,而不能通过指针或键操作触发?