javascript - Angular `@Input()`-tyyppi on `undefined` suoritusaikana
Minulla on Angular-komponentti, ja lisään type-tyypin Input-ominaisuuteen käyttämällä namespace-nimialuetta seuraavasti: @Input() size: AMap.Size
AMap on namespace ja luokka Size sen sisällä. IDE ja TypeScript-kääntäjä toimivat hyvin. Mutta se ei toimi selaimessa. Ja heittää virheen Uncaught ReferenceError: AMap is not defined. Löysin käännetyn koodin.
Miksi tyyppi käännetään koodiksi?
AMap-tyypit ovat seuraavat
declare namespace AMap {
export class Size {}
}
kiitos
Vastaus #1
Minulle toimi käyttämällä tyypinaliasia tiedoston alussa ja sitten käyttämällä sitä.
type ASize = AMap.Size
...
@Input() size: ASize
Tiedän, että tämä on vain kiertotie, mutta ehkä siitä on hyötyä jollekin.
Vastaus #2
Minulla oli samanlainen ongelma. Luulen, että se liittyi Typescriptiin, webpackin pakkausongelmaan. Voitko yrittää käyttää:
export module AMap {
export class Size {...}
}
sen sijaan, että vieisit nimialuetta. Ja tuo se ja käytä komponentissa näin:
import { AMap } from './../..';
