2016-01-17 7 views
6

Wie würde man die Verwendung des Browsers window Objekt bei der Verwendung des Aurelia-Frameworks abstrahieren? Ich möchte direkte Abhängigkeit vom Browser vermeiden, wenn ich Funktionen wie setInterval oder addEventListener zum Beispiel verwende.Wie abstrahiere ich die Verwendung des Browserfensterobjekts?

Aurelia hat etwas namens Plattform Abstraktion Bibliothek, die in der Theorie sollte die Funktionalität, die ich suchen, bieten. Zum Zeitpunkt des Verfassens dieser Frage konnte ich jedoch keine Dokumentation darüber finden.

Antwort

10

paar Beispiele:

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) { 
    ... 
} 

Es gibt keine setTimeout/setInterval im PAL- Ich denke, weil aurelia nicht setTimeout nicht verwendet. Ich habe eine issue hinzugefügt, um diese hinzuzufügen.

+0

Danke für die Beispiele sowie die GitHub-Ausgabe! –

Verwandte Themen