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

porque a construtor nao recebe esse elemento ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não consigo assimilar este elemento, sendo que ja o fiz em outra classe usando a mesma sintaxe. nem importar no controller ele esta reconhecendo.

2 respostas
solução!

Oi, Clodoaldo

Para corrigir esse erro, vc pode utilizar a assertiva de tipo (as) para converter explicitamente o tipo retornado pelo querySelector para HTMLElement.


export class MensagemView {
  private element: HTMLElement;

  constructor(seletor: string) {
    this.element = document.querySelector(seletor) as HTMLElement;
  }

  template(model: string): string {
    return `<p class="alert alert-info">${model}</p>`;
  }

  update(model: string): void {
    const template = this.template(model);
    this.element.innerHTML = template;
  }
}

Muito obrigado amigo !