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

Aula 03 => Depois da implementação o app não exibe mais mensagens na tela

Galera, boa noite!! Então meu código não está mostrando as mensagens em tela, eu já revisei mas ainda não consegui achar o erro... Poderiam me ajudar.

// código HTML

 <h1 class="text-center">Negociações</h1>
    <div id="mensagem-view"></div>

// Imports do HTML

<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/view/View.js"></script>
    <script src="js/app/view/NegociacoesView.js"></script>
    <script src="js/app/models/Mensagem.js"></script>
    <script src="js/app/view/MensagemView.js"></script>
    <script src="js/app/services/ProxyFactory.js"></script>

    <script src="js/app/helpers/Bind.js"></script>

//view do JS

class MensagemView extends View{
    constructor(elemento){
        super(elemento);
    }
    template(model){
        return model.texto ? `<p class="alert alert-info>${model.texto}</p>` : '<p></p>';
    }

}

//Model

class Mensagem{
    constructor(texto =''){
        this._texto = texto;
       }
    get texto(){
        return this._texto; 
    }
    set texto(texto){
        this._texto = texto;
    }
}

//Controller

class NegociacaoController {
  constructor() {
this._mensagem = new Bind(new Mensagem(), new MensagemView($('#mensagem-view')),'texto');
}
adiciona(event) {
this._mensagem.texto = "Negociação Adicionada com sucesso!!";
}
apaga() {
this._mensagem.texto = 'Negociações Apagadas com sucesso!!';
  }

//Bind

class Bind{
  constructor(model,view,...props){
        let proxy = ProxyFactory.create(model, props,model => view.update(model));
        view.update(model);
        return proxy;
    }
}

//Proxy

class ProxyFactory{
set(target, prop, value, receiver){
                if(props.includes(prop)) acao(target);
                let retorno = Reflect.set(target, prop, value, receiver);
                return retorno;
            }

Se quiserem dar uma olhada no código completo o projeto está no github github-tnazevedo

3 respostas

Boa noite, Talita! Como vai?

É exibido algum log de erro no console do navegador? Se sim, poderia colar ele aqui e dizer qual ação vc tenta fazer para que ele apareça? Com essas informações poderei tentar te ajudar de forma mais efetiva!

Qualquer coisa é só falar!

Grande abraço e bons estudos, minha aluna!

solução!

Oieee, Funcionou, a variável texto, não estava atribuindo valor e mandando para a classe construtora, então o paragrafo estava sendo criado sempre sem classes como se não houvesse texto.

Ai declarei o código abaixo funcionou!!

constructor(texto){
        this._texto = texto || ' ';

    }

Opa, Talita! Que bom que resolveu a questão! E obrigado por compartilhar com a gente a sua solução! Assim todos crescemos juntos! Continue assim!

Grande abraço e bons estudos, minha aluna!