angular - HostBinding til anonym lambda-funksjon?
Jeg bruker @HostBinding for å binde resultatene av en funksjon til verts-elementets synlige attributt:
@HostBinding('attr.visible')
private get visibleAttr(): any {
return this._visible ? '' : null;
}
Funksjonsnavnet virker overflødig fordi ingenting annet noen gang vil kalle denne funksjonen. Jeg prøvde å deklarere den som en anonym lambda-funksjon, men det fungerte ikke:
@HostBinding('attr.visible') (() => {
return this._visible ? '' : null;
})
Finnes det en måte å erklære denne funksjonen anonymt på, eller i det minste med en lambda? Eller avhenger Angular-rammeverket av at den har et navn?
Svar #1
@HostBinding er en dekoratør og trenger et gyldig medlem å dekorere. Hvis ditt andre kodeeksempel
(() => {
return this._visible ? '' : null;
})
på egenhånd var et gyldig medlem det kunne fungere men dette er ikke gyldig TypeScript (eller JavaScript) for en medlemsdeklarasjon. Som sådan kan det ikke fungere.
