Bom dia, pessoal. Segue minha dúvida.
export class View<T> {
protected elemento: HTMLElement;
constructor(seletor: string) {
this.elemento = document.querySelector(seletor);
}
template(model: T): string{
throw new Error('A classe filha precisa implementar seu próprio método template.')
}
update(model: T): void {
console.log("teste");
const template = this.template(model);
this.elemento.innerHTML = template;
}
}
import { View } from "./View.js";
export class MensagemView extends View<string>{
template(model:string): string {
return `
<p>${model}</p>
`
}
}
Então, a classe View usa o generics, o T é usado para definir o que os métodos irão receber. Ok. Daí, na classe MensagemView, o generics é usado para definir, também, o que o método irá receber ... Isso faz sentido? Digo, o generics em MensagemView não deveria ser definido para o retorno do método? O que eu queria saber é qual o sentido/utilidade disso. Não estou dizendo que está errado sintaticamente.