1
resposta

Como tornar um atributo dinâmico com javascript?

No componente botao-simples o atributo “idBotaoSimples” precisa ser passado flexível, ou seja, o desenvolvedor escolherá o nome desse atributo.

<div class="div-btn-carregar-mais-browser center">
  <componente:botao-simples 
   dsTituloBotaoSimples="${mk:getMessageLabel('label.padrao.carregar.mais')}" 
    idBotaoSimples="btn-carregar-mais-registros" 
    datasetBotaoSimples="data-carregar-mais" 
    classBotaoSimples="btn-carregar-mais-browser"
  />
</div>

Já no arquivo carregar-mais.js, o ID setado no componente será passado através de parâmetro na chamada do módulo _initCarregarMais e recebido pela função anônima getBotaoCarregarMaisRegistros conforme exemplo: getBotaoCarregarMaisRegistros = () => document.getElementById('PARÂMETRO');

const getBotaoCarregarMaisRegistros = () => document.getElementById('btn-carregar-mais');

function init(metodoCarregarMais, delegacaoDeEventos){
  getBotaoCarregarMaisRegistros() && getFormCarregarMais().id && 
  getBotaoCarregarMaisRegistros().addEventListener('click', () =>{
  aplicaClickCarregarMaisRegistros(metodoCarregarMais, delegacaoDeEventos);
}); 
}

export{
  init as _initCarregarMais
 }
1 resposta

Boa noite, Lucas! Como vai?

Eu entendi a sua necessidade. Mas o que eu não entendi é o motivo dela. Vc aparentemente está usando uma biblioteca ou framework no seu front-end e ao que tudo indica o componente componente:botao-simples também foi desenvolvido por vc. Sendo assim, o ideal seria criar nesse componente um atributo click, por exemplo, que receberia a função callback a ser executada no momento do click no botão. Ao meu ver faz mais sentido do que dar essa volta toda. O que vc acha? Faz sentido pra vc?

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!