2016-07-28 1 views
8

Я прочитал это: https://developers.facebook.com/docs/sharing/reference/share-dialogИспользования Facebook SDK в угловом 2

и мне нужно импортировать facebook SDK для того, чтобы использовать следующий код:

FB.ui({ 
    method: 'share', 
    href: 'https://developers.facebook.com/docs/', 
}, function(response){}); 

Как я могу импортировать фейсбук SDK с помощью приложения Angular 2?

ответ

0

Если вы хотите, чтобы получить доступ в ваш any.component.ts файл, который вы должны будете получить window Referece (IAM, используя follwing код):

function _window():any { 
    return window; 
} 

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

Теперь вы можете:

import { WindowRef } from './windowRef'; 

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

Вам нужно убедиться, что объект FB доступен на window. Впоследствии ваш код будет переполнен.

+0

Не могли бы вы объяснить это более глубоко? где поставить firt блок кода? и почему это должно работать? –

+0

Первый блок будет собственным файлом (я назвал его windowRef.js). И он содержит импортируемый класс (см. Второй блок). Но вы можете сделать это проще. Положите «объявить окно var»; сразу после импорта внутри файла, где вам понадобится доступ к функции FB.ui. Затем вы должны иметь возможность вызвать window.FB.ui, потому что FB является объектом окна. Другим способом может быть использование «declare var FB;» и получить доступ к соответствующей функции, но я не уверен в этом. Для пояснения объект window представляет глобальную область оттуда, вы можете получить доступ ко всем глобальным vars. – sascha10000

+1

Объявление переменной FB для меня работает, т. Е. import {Component} from '@ angular/core'; declare let FB: any; –