2016-07-28 36 views

Odpowiedz

0

Jeśli chcesz uzyskać dostęp do wnętrza złożyć wasze any.component.ts musisz dostać window referece (Iam przy użyciu kodu follwing):

function _window():any { 
    return window; 
} 

export class WindowRef { 
    public static get():any { 
     return _window(); 
    } 
} 

Teraz możesz:

import { WindowRef } from './windowRef'; 

export class AnyComponent { 
    WindowRef.get().FB.ui // <-- this is how you'll reference it now 
} 

Musisz się upewnić, że obiekt FB jest dostępny pod numerem window. Następnie twój kod ulegnie transpozycji.

+0

Czy możesz wyjaśnić to dokładniej? gdzie umieścić blok kodu? i dlaczego to powinno działać? –

+0

Pierwszy blok byłby własnym plikiem (nazwałem go windowRef.js). I zawiera klasę importowalną (patrz drugi blok). Ale możesz to zrobić w łatwiejszy sposób. Wpisz "declare var window;" zaraz po importowaniu do pliku, w którym będziesz potrzebować dostępu do funkcji FB.ui. Następnie powinieneś móc wywołać window.FB.ui, ponieważ FB jest obiektem okna. Innym sposobem może być użycie "declare var FB;" i bezpośredni dostęp do odpowiedniej funkcji, ale nie jestem tego pewien. Dla wyjaśnienia obiekt okna reprezentuje zasięg globalny, skąd można uzyskać dostęp do wszystkich zmiennych globalnych. – sascha10000

+1

Zgłaszanie zmiennej FB działa dla mnie, tj. import {Komponent} z '@ kątowego/rdzenia'; zadeklaruj niech FB: any; –