BlazorServer如何取消订阅/处置从JSR调用的JS事件?
创始人
2024-12-21 15:30:11
0
  1. 在Blazor组件内使用JSRuntime注册事件:
var element = await JSRuntime.InvokeAsync("getElementById", "myElementId");
await element.InvokeVoidAsync("addEventListener", "click", DotNetObjectReference.Create(this).ToString());
  1. 使用Dispose方法取消订阅事件,例如在组件卸载时:
protected override void OnAfterRender(bool firstRender)
{
    if (firstRender)
    {
        var element = await JSRuntime.InvokeAsync("getElementById", "myElementId");
        await element.InvokeVoidAsync("addEventListener", "click", DotNetObjectReference.Create(this).ToString());
    }
}

public void Dispose()
{
    var element = await JSRuntime.InvokeAsync("getElementById", "myElementId");
    await element.InvokeVoidAsync("removeEventListener", "click", DotNetObjectReference.Create(this).ToString());
}

在这个示例中,当组件加载时,注册了一个click事件,当组件卸载(即可见性true)时,取消注册该事件。在取消事件时,使用removeEventListener方法,并传递事件名称和前面注册的字符串(通过DotNetObjectReference创建)作为参数。

相关内容

热门资讯

透视ai代打!德普之星透视辅助... 透视ai代打!德普之星透视辅助软件激活码,德普之星透视免费,技巧教程(有挂规律)1、超多福利:超高返...
透视辅助!pokermaste... 透视辅助!pokermaster脚本,约局吧德州有挂吗,黑科技教程(有挂工具);1)约局吧德州有挂吗...
透视挂透视!德普之星私人局辅助... 透视挂透视!德普之星私人局辅助免费,(德普)一贯真的是有挂,wepoke教程(有挂介绍)德普之星私人...
透视透视挂“哈糖大菠萝软件下载... 透视透视挂“哈糖大菠萝软件下载”透视辅助安装(竟然是有挂)1、下载好哈糖大菠萝软件下载辅助软件之后点...
透视教程!德普之星透视辅助软件... 透视教程!德普之星透视辅助软件激活码,德普之星app安卓版破解版,力荐教程(有挂脚本)1、全新机制【...
透视教程!智星菠萝透视,pok... 透视教程!智星菠萝透视,pokemmo手机版脚本,力荐教程(有挂教程);1、进入到pokemmo手机...
透视辅助!德普之星透视软件免费... 透视辅助!德普之星透视软件免费入口官网,(德普之星)好像是真的有挂,必备教程(有挂教程)透视辅助!德...
透视规律“pokermaste... 透视规律“pokermaster破解版”透视辅助脚本(竟然真的有挂)一、pokermaster破解版...
透视玄学!we poker免费... 透视玄学!we poker免费辅助器,pokemmo辅助器,必赢方法(有挂脚本)1、金币登录送、破产...
透视线上!德普之星透视辅助软件... 透视线上!德普之星透视辅助软件,德普之星辅助器怎么用,存在挂教程(有挂解说)1、玩家可以在德普之星辅...