繁体   English   中英

TypeScript:错误TS2339:类型“ Window”上不存在属性“ CustomEvent”

[英]TypeScript: error TS2339: Property 'CustomEvent' does not exist on type 'Window'

我正在尝试按照指南使用TypeScriptAurelia编写自定义元素。

但是,当尝试编译时,出现以下错误:

错误TS2339:类型“窗口”上不存在属性“ CustomEvent”。

错误TS2339:类型“事件”上不存在属性“ val”。

我的课是:

import {bindable, autoinject, customElement} from 'aurelia-framework';

import * as $ from 'jquery';
import 'select2';
import 'select2/css/select2.css!';

@customElement('select2')
@autoinject
export class CustomSelect{
    @bindable name:string;
    @bindable selected: boolean = false;
    @bindable options: any;
    element: Element;

    constructor(element: Element){
        this.element = element;
    }

    attached() :void {
        $(this.element)
            .find('select')
            .select2()
            .on('change', ev => {
                let changeEvent;
                if(window.CustomEvent){
                    changeEvent = new CustomEvent('change', {
                        detail: {
                            value: ev.val
                        },
                        bubbles: true
                    });
                } else {
                    changeEvent = document.createEvent('CustomEvent');
                    changeEvent.initCustomEvent('change', true, true, {value: event.val});
                }
                this.element.dispatchEvent(changeEvent);
            }); 
    }
}

CustomEventlib.es6.d.ts定义

将打字稿编译配置为目标ES6将解决此问题。 进行此更改后,您可能需要关闭并重新打开IDE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM