我如何获得我的匿名事件处理程序的智能感知?

问题描述 投票:0回答:1

我创建了一个JavaScript Worker。它将消息发送回主页。这些消息通常由事件处理程序处理。

消息事件data属性将包含定义为:]的对象>

{
    knapId: '',
    html: ''
}

为了'愚弄'我创建了class,在其中定义了data属性:

class SvarEvent extends MessageEvent
{
    constructor()
    {
        super('message');
        this.data =
        {
            knapId: '',
            html: ''
        }
    }
}

我将永远不会实际创建此class的实例。它将在事件处理程序的event参数中传递。

现在,我希望匿名事件处理程序中的eventSvarEvent类型及其data property]提供智能感知

我做了几次惨烈的尝试,像这样:

/** 
 *  @param {SvarEvent} event 
 */
window.addEventListener("message", function (event)
{
    event.data.       <= Here I want to list 'knapId' and 'html'
});

如何正确执行此操作,以便获得智能感知?

我创建了一个JavaScript工作者。它将消息发送回主页。这些消息通常由事件处理程序处理。消息事件数据属性将包含定义为以下对象的对象:...

现在我明白了。

@type规范必须在函数声明之前!!>

在这种情况下,它意味着inside

事件处理程序的参数列表,如下所示:
window.addEventListener("message",  /**@type function(SvarEvent)*/ function (event)
{
    event.data.       <= Here I want to list 'knapId' and 'html'
});

[现在,它可以工作,当我输入'event.data.'时,我会得到以下列表:'knapId'和'html'。

javascript visual-studio jsdoc javascript-intellisense
1个回答
0
投票

现在我明白了。

© www.soinside.com 2019 - 2024. All rights reserved.