模板文字内部的事件回调

时间:2019-12-11 18:27:46

标签: javascript template-literals

大家好,我是javascript的新手,我正在尝试使用模板文字对用户的click事件执行回调函数。但是,回调是在模板的评估上执行的。

row方法由另一个传递项目和回调函数的类调用。

class Clazz {
  row(item, deleteCallback){
      return `<a href="#" onClick="${deleteCallback(item.requestId)}"></a>`
  }
}

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

我认为您要实现的更好的方法是从row返回一个元素而不是一个HTML字符串。像这样:

class Clazz {
  row(item, deleteCallback){
    const a  = document.createElement('a');
    a.href = '#';
    a.onclick = () => deleteCallback(item.requestId);
    return a;
  }
}

然后可以使用appendafter或类似的东西将其添加到DOM。