TypeScript 'this' é indefinido ao chamar uma função em HTML String
Sep 15 2020
Quero chamar uma função TypeScript simples de dentro de uma variável HTML. O botão com o HTML está tentando chamar '_Myfunction' que cria um Alert (); simples.
Clicar no botão produz o seguinte erro:
typeError: Não é possível ler a propriedade '_Myfunction' de indefinido
Como posso resolver esse erro? E o código está abaixo:
constructor() {
super();
}
postInitialize(): void {
}
render() {
this.mapHelper.map.getSelectedAssets().then(function(resolvedValue) {
if(resolvedValue != null){
masterHTMLstring =
<table style="background-color:#FFFFFF;width:200px;">
{resolvedValue.map((item, index) => (
<tr key={index}>
<td>
<button id={item.EntityUid} onclick={() => this._myfunction(item.EntityUid)}>Add</button>
</td>
</tr>
))}
</table>;
}
}, function(error) {
//masterHTMLstring = "error";
});
return <div class="basemap23" >{masterHTMLstring}</div>;
}
destroy(): void {
this._handles.destroy();
this._handles = null;
}
public _myfunction(entityID: string): void {
alert(entityID);
}
Respostas
1 DBA108642 Sep 15 2020 at 16:25
Substitua function(resolvedValue) {porresolvedValue => {
e isso deve ser bom
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino