Как создать новую функцию на окно или самостоятельно (который присвоил интерфейс окна по lib.d.ts)?

голоса
1

Очевидно, что я пытаюсь получить Facebooks асинхронной инициализации работает. Делая это, мне нужно создать функцию в окне объекта под названием «fbAsyncInit». У меня возникли проблемы предложения этого типа, при написании веб-рабочих, потому что я хочу использовать self.postMessage но самость еще раз имея в качестве интерфейса интерфейс окна. Однако я пытаюсь сделать это, typscript компилятор не устраивает меня добавление поля в окно, который не указан в интерфейсе окна. Я пытался это сделать, как это на первый:

interface WindowFB extends Window { 
    fbAsyncInit: ()=>any;
}

declare var window: WindowFB;

это не помогло, так что я попробовал некоторые другие вещи, и удалось получить тип проверки счастливым, но мне кажется, что это просто прослушивают (потому что для решения его не устраивает 100%). Кто-нибудь знает, что правильное решение для этого может быть?

Задан 07/10/2012 в 22:24
источник пользователем
На других языках...                            


1 ответов

голоса
3

Интерфейс «Окно» открыто. Вы можете просто написать:

interface Window {
    fbAsyncInit: () => any;
}

window.fbAsyncInit();

Из-за некоторые ошибки вокруг lib.d.ts, это не совсем работать в машинописи Playground, но командная строка компилятор должен быть в состоянии принять это.

Ответил 07/10/2012 в 22:36
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more