1
resposta

Duvida sobre os eventos

Durante o curso os eventos são aplicados diretamente nas tags HTML.

<form class="form" onsubmit="negociacaoController.adiciona(event)">

Qual seria a forma de atribuir os eventos diretamente no JS já que não é possível atribuir os eventos dentro das classes?

1 resposta

Boa noite, Mayki! Como vai?

Vc pode abrir uma seção de script na página, selecionar o elemento e ligá-lo com o método do controlador.

<script>
     const negociacaoController = new NegociacaoController();

     const formulario = document.querySelector('form');
     formulario.addEventListener('submit', negociacaoController.adiciona);
</script>

Como também pode criar uma classe para fazer a ligação entre a página e o controlador.

class FormularioNegociacaoPage {

     constructor(controller) {
          this._formulario = document.querySelector('form');
          this._formulario.addEventListener('submit', controller.adiciona);
     }
}

E na página do formulário:

<script>
     const negociacaoController = new NegociacaoController();
     new FormularioNegociacaoPage(negociacaoController);
</script>

Essas foram duas possibilidades que eu imaginei. Não lembro exatamente da estrutura criada pelo mestre Flávio durante esse projeto. Então pode ser que analisando a estrutura, alguma classe que já tenha sido criada possa ser utilizada no lugar da FormularioNegociacaoPage que eu sugeri.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!