Import syntaxe pro odkaz na dgrid ze strojopisu

hlasů
1

Učím strojopisu a Dojo paralelně, a to odhalila mé omezené chápání AMD. Nechápu, jak provázat příkaz import do 3. strany „dgrid / Grid“ AMD modulu, mé prohlášení dgrid.d.ts pahýl a mé spotřebě třídě. Po 2 dnech promarněného úsilí jsem hledal jakýmikoli prostředky (hacky nebo amd best practice) provést následující:

MyModule.ts

{
    ...
    var myGrid = new dgrid.Grid( { /*col structure*/}, divId);
    ...
}

Tady je můj útržek prohlášení soubor dgrid.

dgrid.d.ts (editor pro synchronizaci s aktualizaci 1 níže)

module dgrid/Grid
{
    export class Grid
    {
        constructor ( gridStructure: any, elementId: string);
    }
}

Zkoušel jsem tyto odkazy v mé náročné strojopisu třídy, ale Visual Studio zdůrazňuje „dgrid / Grid“ doslovný červeně, protože myslím, že TS kompilátor neví klasické Dojo dojoConfig, baseURL a dgrid prohlášení balíku v souboru default.htm.

///<reference path='dgrid.d.ts' />

import Grid = module(dgrid/Grid);

module MyModule
{
   ...
}

UPDATE 1 Vzhledem k tomu, vysílání I pročíst kapitolu 10 v oficiálním strojopisem manuálu. Dříve jsem neuznal význam modulů deklarovaných jako modul myType {} nebo modulu „vnější / thirdparty“ {}. Okolní prohlášení o externí modul by měl být doslovný.

Pozadí:

Vyžadovat prohlášení:

require([dgrid/Grid, dojo/domReady!],
    function(Grid){
Položena 11/10/2012 v 13:43
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Následující (mírně měnit) verzi kódu kompiluje pokutu za mnou:

MyModule.ts

///<reference path='./dgrid.d.ts' />
module MyModule {
    var gridInstance : dgrid.Grid = new dgrid.Grid("test1", "test2");
}

dgrid.d.ts

module dgrid
{
    class Grid
    {   
        constructor ( gridStructure: any, elementId: string);
    }   

}

///<reference path='...'/>Konstrukce přináší vnitřní modul dgriddo rozsahu. Prefixu název typu s názvem modulu dělá svou práci.

Odpovězeno 11/10/2012 v 15:45
zdroj uživatelem

hlasů
0

Moje první i když by bylo ověřit, zda je soubor v místech si myslíte, že je pro toto tvrzení práci:

///<reference path='dgrid.d.ts' />

Je dgrid.d.tssoubor ve stejné složce jako modulu .TS souboru?

Aktualizace:

Měli byste modul prohlášení bude:

module dgrid {
    export class Grid {
        constructor ( gridStructure: any, elementId: string) {

        }
    }
}
Odpovězeno 11/10/2012 v 14:52
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more