2017-10-21 5 views
0

Ich möchte etwas Vanille JavaScript-Code ausführen (in externer Datei), wenn ein ionischen Ereignis veröffentlicht wird. Aber ich weiß nicht, wie das geht. Ich will so etwas.ionic 3 Event in Vanille abonnieren Javascript

Typoskript

this.event.publish('TestEvent',{data:123}); 

JavaScript

document.addEventListener("TestEvent", function(data) { 
      alert('TestEvent'); 
}); 

Antwort

0

Ich denke, man gerade wieder das Ereignis auslösen könnte auf document:

TS:

this.event.publish('TestEvent', {data:123}); 

const event = new CustomEvent('TestEvent', {detail: {data: 123}}); 
document.dispatchEvent(event); 

JS:

document.addEventListener('TestEvent', function (event) { 
    alert('TestEvent'); 
    console.log(event.detail.data); // prints 123 
}); 

Mehr über benutzerdefinierte Ereignisse auf MDN:

https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent

+0

'console.log (event.data);' 'zeigt undefined' – shah

+0

sorry, mein Schlechter, wird meine Antwort aktualisieren. Sie müssen die Nutzlast in ein anderes Objekt verpacken ... –