2016-01-17 8 views
6

Как можно отвлечь использование объекта браузера window при использовании рамки Aurelia? Я бы хотел избежать прямой зависимости от браузера при использовании таких функций, как setInterval или addEventListener.Как абстрагироваться от использования оконного объекта браузера?

Aurelia имеет что-то под названием Библиотека абстракции для платформы, которая теоретически должна обеспечивать функциональность, которую я ищу. Тем не менее, я не мог найти документацию об этом во время написания этого вопроса.

ответ

10

Несколько примеров:

import {DOM, PLATFORM, FEATURE} from 'aurelia-pal'; 

PLATFORM.addEventListener('click', e => ...); 
PLATFORM.requestAnimationFrame(() => ...); 

let event = DOM.createCustomEvent('foo', { bubbles: true }); 
DOM.dispatchEvent(event); 
let element = DOM.createElement('div'); 

if (FEATURE.shadowDOM && FEATURE.scopedCSS && FEATURE.htmlTemplateElement) { 
    ... 
} 

Там нет в PAL- я думаю, потому что Аурелия не использует setTimeout нет setTimeout/ setInterval. Я добавил issue, чтобы добавить их.

+0

Спасибо за примеры, а также за проблему GitHub! –

Смежные вопросы