Hvordan du oppretter en ny funksjon på vindu eller selv (som har tildelt grensesnitt Window av lib.d.ts)?

stemmer
1

åpenbart Jeg prøver å få Facebooks async init fungerer. Gjør det, jeg trenger for å lage en funksjon på objekt vindu som heter fbAsyncInit. Jeg har simillar problem når du skriver web-arbeidere, fordi det jeg ønsker å bruke self.postMessage men selv er nok en gang å ha som sitt grensesnitt grensesnittet Window. Men jeg prøver å gjøre det, er typscript kompilatoren ikke fornøyd med meg å legge til et felt i vinduet som ikke er spesifisert i Window-grensesnitt. Jeg prøvde å gjøre det slik i begynnelsen:

interface WindowFB extends Window { 
    fbAsyncInit: ()=>any;
}

declare var window: WindowFB;

det hjalp ikke så jeg prøvde noen andre ting, og klarte å få typen kontrolløren glad, men det virker som det er bare avlyttet (fordi for våre løsninger er ikke fornøyd 100%). Er det noen som vet hva som er riktig løsning for dette kan være?

Publisert på 07/10/2012 klokken 21:24
kilden bruker
På andre språk...                            


1 svar

stemmer
3

The 'Window' grensesnittet er åpent. Du kan bare skrive:

interface Window {
    fbAsyncInit: () => any;
}

window.fbAsyncInit();

På grunn av noen bugs rundt lib.d.ts, vil dette ikke helt fungerer i Loggfila barn, men kommandolinje kompilatoren skal kunne akseptere dette.

Svarte 07/10/2012 kl. 21:36
kilden bruker

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