3
respostas

Eu estou tentando chamar a função editar de dentro de uma template string mas não estou conseguindo sendo que estou trabalhando em modulo

import { marcaService } from "../service/marca-service.js";

const tabela = document.querySelector("#tabela-marcas");
function criaTBody(id, nome) {
  const linhaNovaMarca = document.createElement("tr");
  const conteudo = `
            <td>${id}</td>
            <td>${nome}</td>
            <td><i onclick="editar(${id})"style="cursor:pointer">Editar</i><i onclick="" style="cursor:pointer">Excluir</i></td>   
    `;
  linhaNovaMarca.innerHTML = conteudo;
  return linhaNovaMarca;
}

function editar(id) {}
export const render = async () => {
  try {
    const listaDeMarcas = await marcaService.listaMarcas();
    listaDeMarcas.forEach((elemento) => {
      tabela.appendChild(criaTBody(elemento.id, elemento.nome));
    });
  } catch (erro) {
    console.log(erro);
  }
};

render();
3 respostas

Acho que se você mudar disso:

onclick="editar(${id})"

para isso:

onclick="${editar(id)}"

Talvez funcione.

=)

Oi Vanessa obrigado pela resposta, então eu testei e fazendo assim ele executa a função editar.

Imagina!

Que bom que ajudou! =D

Bons estudos!