我有一个自定义组件,当它在浏览器中呈现时,我需要测量其大小(在JavaScript中)并回调Blazor。
在完成特定组件的渲染后,如何注册要调用的JavaScript?
答案 0 :(得分:2)
@inject IJSRuntime JSRuntime
@ref
上添加<div @ref=MeasureMe>
@code
中声明一个字段ElementReference MeasureMe
var whatever = JSRuntime.InvokeAsync<YourResultType>("yourJSFunctionName", MeasureMe)
注意:如果启用了服务器端预渲染,请在使用OnAfterRenderAsync
执行firstRender == true
之后才第一次使用JSRuntime。
还请注意:调整浏览器大小时,组件不会重新呈现。
我在Blazor University上有关于JSInterop的部分。