Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

querendo muito tirar uma dúvida galera. quem soube, por favor mais e coisa de doido

depois de várias tentativas de acerta o código devido a mensagem de erros da seguinte forma.

 Uncaught ReferenceError: View is not defined
    at NegociacoesView.js:1
MensagemView.js:1 Uncaught ReferenceError: View is not defined
    at MensagemView.js:1
NegociacaoController.js:11 Uncaught ReferenceError: NegociacoesView is not defined
    at new NegociacaoController (NegociacaoController.js:11)
    at index.html:58

procurando mais não achando o que estava errado, olhando linha por linha de codigo e não achava.

quando mudei a ordem do meu index.html dos scripts mudei de:

 <script src="js/app/models/Negociacao.js"></script>
    <script src="js/app/controllers/NegociacaoController.js"></script>
    <script src="js/app/helpers/DateHelper.js"></script>
    <script src="js/app/models/ListaNegociacoes.js"></script>
    <script src="js/app/views/NegociacoesView.js"></script>
    <script src="js/app/models/Mensagem.js"></script>
    <script src="js/app/views/MensagemView.js"></script>
    <script src="js/app/views/View.js"></script>
    <script>
        let negociacaoController = new NegociacaoController();
    </script> 

para:

 <script src="js/app/models/Negociacao.js"></script>
<script src="js/app/controllers/NegociacaoController.js"></script>
<script src="js/app/helpers/DateHelper.js"></script>
<script src="js/app/models/ListaNegociacoes.js"></script>
<script src="js/app/views/View.js"></script>
<script src="js/app/views/NegociacoesView.js"></script>
<script src="js/app/models/Mensagem.js"></script>
<script src="js/app/views/MensagemView.js"></script>
<script>
    let negociacaoController = new NegociacaoController();
</script>

tudo funcionou. Agora não sei o porque funcionou, não foi ensinado neste curso e nem outro que fiz. alguem pode me explicar disto???????

2 respostas
solução!

Bom dia, Luciano, tudo bom?

Então, para que você possa usar o extends em uma classe filha (para pegar de uma classe mãe), você precisa que essa classe mãe já tenha sido lida pelo navegador antes das classes filhas. Para isso, é necessário que você coloque na ordem certa quando for importar os arquivos .js no html. Dessa forma, o View.js tem que vir antes do NegociacoesView.js e MensagemView.js, já que eles puxam do View.js.

Espero ter ajudado, senão a gente tenta descobrir juntos o problema.

muito obrigado José Alberto, foi de muito valor sua explicação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software