Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[M3A2] Associando métodos do controller às ações do usuário

Não se trata propriamente de uma dúvida, mas somente de descrever uma situação.

Eu gosto muito de separar meus códigos, então em vez de criar uma tag dentro de index.html, como no exemplo dado pelo instrutor do curso:

<form ... onsubmit="negociacaoController.adiciona(event)">
...
<script>
let negociacaoController = new NegociacaoController();
</script>

Eu criei um arquivo teste.js e dentro dele adicionei o mesmo código.

// Teste do controller NegociacaoController
let negociacaoCrontroller = new NegociacaoController();

Incluí o arquivo em index.html com <script src="./teste.js"></script> e o evento onsubmit="negociacaoController.adiciona(event)" no formulário e voilà:

Uncaught ReferenceError: negociacaoController is not defined at HTMLFormElement.onsubmit

Precisei usar var para funcionar direito.

1 resposta
solução!

Oi, Eduardo, tudo bem?

Acredito que isso aconteceu por causa do escopo, a variável let tem um escopo limitado (sempre que puder usar, usa-a), já a var "vaza" o escopo e pode ser um problema. Mas já te dando uma sugestão, é melhor usar a variável let ao invés da var, é mais seguro e uma boa prática no JS.