Typescript: Alias et langt modulnavn


Jeg har allerede undersøkt dette, går videre til de følgende spørsmålene:

Alias Eksternt Modul i TypeScript

Type referanse uten fullt navneområde

Men jeg er fortsatt forvirret. Dette er ikke et "krav", bare et ønske. Jeg bruker Kendo UI og deres MVVM-arkitektur i Typescript, og jeg oppdager at jeg stadig skriver dette ut ...

class Item extends ItemPrototype {
   public Quality: kendo.data.ObservableObject = new kendo.data.ObservableObject();
}

Ja, det fungerer fint, men det begynner å bli irriterende. Finnes det en måte jeg kan sette opp TypeScript på for å la meg bruke en kortform? Som ...

class Item extends ItemPrototype {
   public Quality: observable = new observable();
}

Svar #1

Ja, det finnes en måte. import kan brukes til å importere en modul eller også til å definere et typenavn for å gjøre det kortere. Her er et eksempel på det sistnevnte:

declare module alpha.bravo.charlie {
    export class Delta {
        constructor();
    }
}

import Delta = alpha.bravo.charlie.Delta;
let d: Delta = new Delta();

Du kan også spare på skrivingen ved å la typesystemet inferere noe av arbeidet.

let d = new Delta();

Mer info: https://www.typescriptlang.org/docs/handbook/namespaces.html#aliases

Relaterte artikler