Comment créer une nouvelle fonction sur la fenêtre ou l'auto (qui a attribué la fenêtre d'interface par lib.d.ts)?

voix
1

évidemment, je suis en train de faire Facebooks async par init travail. Le faire, je dois créer une fonction sur la fenêtre d'objet appelé « fbAsyncInit ». J'ai problème simillar, lors de l'écriture web workers, parce que je veux utiliser self.postMessage mais l'auto est d'avoir une nouvelle fois que sa fenêtre d'interface d'interface. Cependant, j'essaie de le faire, le compilateur TYPESCRIPT est pas heureux avec moi d'ajouter un champ à la fenêtre qui n'est pas spécifiée dans l'interface de la fenêtre. J'ai essayé de le faire comme ça au premier abord:

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

declare var window: WindowFB;

cela n'a pas aidé alors j'ai essayé d'autres choses et a réussi à obtenir le type vérificateur heureux, mais il semble que c'est juste mis sur écoute (parce que pour les solutions, il est pas heureux à 100%). Quelqu'un sait-il ce que la bonne solution pour cela pourrait être?

Créé 07/10/2012 à 22:24
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
3

L'interface « fenêtre » est ouverte. Vous pouvez simplement écrire:

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

window.fbAsyncInit();

En raison de quelques bugs autour lib.d.ts, cela ne fonctionnera pas tout à fait dans la cour tapuscrit, mais le compilateur de ligne de commande devrait être en mesure d'accepter.

Créé 07/10/2012 à 22:36
source utilisateur

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