Cum de a crea o nouă funcție pe fereastră sau auto (care a atribuit fereastra interfeței de lib.d.ts)?

voturi
1

evident, eu sunt încercarea de a obține facebooks asincronă init de lucru. Făcând aceasta, am nevoie pentru a crea o funcție pe fereastra obiect numit „fbAsyncInit“. Sunt care au o problema simillar, atunci când scrieți lucrătorilor web, pentru că nu vreau să folosesc self.postMessage, dar de sine este, din nou, avand ca fereastra sa de interfață de interfață. Cu toate acestea încerc să o fac, compilatorul typscript nu este fericit cu mine adăugând un câmp la fereastră, care nu este specificat în interfața Window. Am încercat să o fac ca acest lucru la început:

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

declare var window: WindowFB;

care nu a ajutat, așa că am încercat alte lucruri și a reușit să obțină de tip corector fericit, dar se pare ca este doar pus microfoane (deoarece pentru soluțiile nu este fericit 100%). Stie cineva ce ar putea fi soluția potrivită pentru asta?

Întrebat 07/10/2012 la 22:24
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
3

Interfața „Window“ este deschisă. Puteți scrie doar:

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

window.fbAsyncInit();

Din cauza unor bug-uri în jurul valorii de lib.d.ts, acest lucru nu va funcționa destul de în typescript Playground, dar compilatorul linie de comandă ar trebui să fie în măsură să accepte acest lucru.

Publicat 07/10/2012 la 22:36
sursa de către utilizator

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