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

A Mensagem que aparece quando adicionamos uma Negociação, sumiu

Fiz de acordo com a videoaula e a mensagem simplesmente não aparece mais quando eu adiciono uma nova negociação. AULA 3 - ATIVIDADE 3 . Se alguém puder dar uma ajuda, agradeço.

class NegociacaoController {

    constructor() {

        let $ = document.querySelector.bind(document);

        this._inputData = $('#data');
        this._inputQuantidade = $('#quantidade');
        this._inputValor = $('#valor');

        this._negociacoesView = new NegociacoesView($('#negociacoesView'));

        this._listaNegociacoes = new Bind(new ListaNegociacoes(), 
            this._negociacoesView, ['adiciona', 'esvaiza'])

        this._mensagemView = new MensagemView($('#mensagemView'));

        this._mensagem = new Bind(new Mensagem(), this._mensagemView, ['texto']);
    }
class Bind {

    constructor(model, view, props) {

        let proxy = ProxyFactory.create(model, props, model => view.update(model));

        view.update(model);

        return proxy;
    }
}
4 respostas

Na NegociacaoController falta uma } no final

André, não está faltando não.. vou postar o código completo, pq eu só tinha postado a parte que tinha feito alterações de acordo com a videoaula.

class NegociacaoController {

    constructor() {

        let $ = document.querySelector.bind(document);

        this._inputData = $('#data');
        this._inputQuantidade = $('#quantidade');
        this._inputValor = $('#valor');

        this._negociacoesView = new NegociacoesView($('#negociacoesView'));

        this._listaNegociacoes = new Bind(new ListaNegociacoes(), 
            this._negociacoesView, ['adiciona', 'esvaiza'])

        this._mensagemView = new MensagemView($('#mensagemView'));

        this._mensagem = new Bind(new Mensagem(), this._mensagemView, ['texto']);
    }

    adiciona(event) {

        event.preventDefault();

            this._listaNegociacoes.adiciona(this._criaNegociacao());
            this._mensagem.texto = 'Negociação adicionada com sucesso';            
            this._limpaFormulario();
    }

    apaga() {

        this._listaNegociacoes.esvazia();
        this._mensagem.texto = 'Negociações apagadas com sucesso';
    }

    _criaNegociacao() {

        return new Negociacao(
            DateHelper.textoParaData(this._inputData.value),
            this._inputQuantidade.value,
            this._inputValor.value
        );
    }
    _limpaFormulario() {

        this._inputData.value = '';
        this._inputQuantidade.value = 1;
        this._inputValor.value = 0.0;

        this._inputData.focus();
    }
}

Oi Marcela,

Você importou o Bind.js para o seu HTML ?

solução!

Sim! Revisei as transcrições e achei o que no vídeo não mostrava. Obrigada!

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