订阅vanilla Javascript中的离子3事件

时间:2017-10-21 19:50:11

标签: javascript typescript ionic3

我想执行一些vanilla JavaScript代码(在外部文件中),当发布离子事件时。 但我不知道该怎么做。我想要这样的东西。

打字稿

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <modules>
      <remove name="WebDAVModule" />
    </modules>
    <handlers>
      <remove name="WebDAV" />
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

的JavaScript

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

1 个答案:

答案 0 :(得分:0)

我想你可以在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
});

有关MDN上自定义事件的更多信息:

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