2016-07-28 7 views
8

に私は、この読んでいる:https://developers.facebook.com/docs/sharing/reference/share-dialogは角2

を、私は次のコードを使用するためにFacebookのSDKをインポートする必要があります。

私はFacebookのをインポートすることができますどのように
FB.ui({ 
    method: 'share', 
    href: 'https://developers.facebook.com/docs/', 
}, function(response){}); 

Angular 2アプリを使用したSDKですか?

答えて

0

あなたのany.component.tsはあなたが(follwingコードを使用してIAM)window refereceを取得する必要がありますファイル内のアクセス権を取得したい場合:

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

詳細はこれ以上説明できませんか?どこのコードを書くの?なぜこれがうまくいくのでしょうか? –

+0

最初のブロックは独自のファイルです(私はそれをwindowRef.jsと呼んでいます)。インポート可能なクラスが含まれています(2番目のブロックを参照)。しかし、これは簡単な方法で行うことができます。 "declare var window;"を入れてください。 FB.ui関数にアクセスする必要があるファイル内のインポートの直後に表示されます。 FBはウィンドウのオブジェクトなので、window.FB.uiを呼び出すことができます。別の方法は、 "declare var FB;"を使うことです。直接関数にアクセスするが、それについてはわからない。説明のために、windowオブジェクトはそこからグローバルスコープを表し、すべてのグローバル変数にアクセスできます。 – sascha10000

+1

FB変数を宣言すると、つまり {Component}を '@ angular/core'からインポートします。 を宣言します。FB:any; –