Argument of type 'string' is not assignable to parameter of type 'T'. 'string' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.,
Não seu o motivo pois o código está idêntico ao do professor.
export abstract class View<T> {
protected _elemento: JQuery;
private _escapar: boolean;
constructor(seletor: string, escapar: boolean) {
this._elemento = $(seletor);
this._escapar = escapar;
}
update(model: T) {
let template = this.template(model);
if (this._escapar)
template = template.replace(/<script>[\s\S]*?<\/script>/, "");
this._elemento.html(this.template(template));
}
abstract template(model: T): string;
}