2016-07-28 19 views
8

में फेसबुक एसडीके का उपयोग करते हुए मैं यह पढ़ कर दिया गया है: https://developers.facebook.com/docs/sharing/reference/share-dialogकोणीय 2

और मैं आदेश निम्नलिखित कोड का उपयोग करने के फेसबुक एसडीके आयात करने की आवश्यकता:

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

मैं कैसे फेसबुक आयात कर सकते हैं एंगुलर 2 ऐप का उपयोग कर एसडीके?

उत्तर

0

आप के अंदर अपने any.component.ts फ़ाइल (IAM follwing कोड का प्रयोग करके) एक window संदर्भ के पाने की आवश्यकता होगी पहुँच प्राप्त करना चाहते हैं: अब आप कर सकते हैं

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 कहा है)। और इसमें एक आयात योग्य वर्ग है (दूसरा ब्लॉक देखें)। लेकिन आप इसे एक आसान तरीके से कर सकते हैं। "Var विंडो घोषित करें;" फ़ाइल के अंदर आयात के ठीक बाद, जहां आपको FB.ui फ़ंक्शन तक पहुंच की आवश्यकता होगी। फिर आप विंडो को कॉल करने में सक्षम होना चाहिए। एफबी.ईई क्योंकि एफबी खिड़की का एक वस्तु है। एक और तरीका "विभिन्न एफबी घोषित करना" का उपयोग करना हो सकता है; और सीधे कार्य के अनुसार पहुंचें, लेकिन मुझे इसके बारे में निश्चित नहीं है। स्पष्टीकरण के लिए विंडो ऑब्जेक्ट वहां से वैश्विक दायरे का प्रतिनिधित्व करता है, आप सभी वैश्विक युद्धों तक पहुंच सकते हैं। – sascha10000

+1

मेरे लिए एफबी वैरिएबल कामों को घोषित करना i.e. '@ कोणीय/कोर' से आयात {घटक}; घोषित करें एफबी: कोई भी; –