2016-07-28 63 views

回答

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)。它包含一個可導入的類(參見第二塊)。但是你可以以更簡單的方式做到這一點。把「聲明var窗口;」緊接在文件內部的導入之後,您需要訪問FB.ui函數。然後您應該能夠調用window.FB.ui,因爲FB是窗口的對象。另一種方法可能是使用「聲明var FB;」並直接訪問相應的功能,但Iam不確定。爲了說明,窗口對象表示全局範圍,您可以訪問所有全局變量。 – sascha10000

+1

聲明FB變量適用於我,即 從'@ angular/core'導入{Component}; 聲明讓FB:任何; –