簡體   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