Olá, eu preciso de ajuda. Quando clico no botão importa nada ocorre. Mesmo quando apenas havia um alert na função. Eu repeti os mesmos passos que o professor. Quando eu não defino o button como type button, a função adiciona está sendo chamada pelo botão.
negociacao-controller:
public importaDado(): void {
fetch('http://localhost:8080/dados')
.then(res => res.json()) // recebi os dados e converti para json
.then((dados: any[] ) => { // recebo um array do tipo e com esse array que recebo, eu retorno um map dele
return dados.map(dadoDeHoje => { //para cada dado do array, considero como dadoDeHoje, e para cada eu retorno uma instancia de negociacao passando os dados recebidos por parametro
return new Negociacao(
new Date(),
dadoDeHoje.vezes,
dadoDeHoje.montante
)
})
})
.then(negociacoesDeHoje => {
for(let negociacao of negociacoesDeHoje){ //pego cada negociacao e adiciono
this.negociacoes.adiciona(negociacao);
}
this.negociacoesView.update(this.negociacoes) // atualizar a view com o dado que veio
});
}
app.ts:
import { NegociacaoController } from './controllers/negociacao-controller.js';
const controller = new NegociacaoController();
const form = document.querySelector('.form');
if (form) {
form.addEventListener('submit', event => {
event.preventDefault();
controller.adiciona();
});
} else {
throw Error('Não foi possível inicializar a aplicação. Verifique se o form existe.');
}
const botaoImporta = document.querySelector('#botao-importa');
if (botaoImporta) {
console.log('Teste botao importa')
botaoImporta.addEventListener('click', () => {
controller.importaDado();
});
} else {
throw Error('Botão importa não foi encontrado');
}
index.html
.
.
.
<button class="btn btn-primary" type="submit">Incluir</button>
<button id="botao-importa" class="btn btn-primary" type="button">Importar</button>
</form>