当我将以下代码添加到main.ts时,CustomEvent没有正确地添加到窗口对象中。如果我使用JavaScript控制台添加CustomEvent,它就会这样做。顺便说一句,当我点击一个触发我的自定义事件的按钮(称为"choice- click ")时,问题就会发生。
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
}
CustomEvent.prototype = (<any>window).Event.prototype;
(<any>window).CustomEvent = CustomEvent;
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.log(err));
下面是两个屏幕截图。第一个,main.ts添加了CustomEvent。第二步,我使用JavaScript控制台添加CustomEvent。
注意:使用JavaScript控制台时,$.isFunction返回"true“
发布于 2018-07-18 00:19:39
如果您正在使用Angular CLI,您可以(作为替代)使用npm i custom-event-polyfill
安装“自定义事件polyfill”,并将其添加到您的polyfills.ts:import 'custom-event-polyfill';
发布于 2018-06-29 08:38:36
我没有任何线索,当我必须将多边形填充放置在线上和角度之后,但它工作。
<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="scripts.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script>
<script type="text/javascript">
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
}
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
</script>
https://stackoverflow.com/questions/51092050
复制相似问题