فراخوانی document.Ready در Blazor

گاهی پیش میاد که نیاز است فایل‌های جاوا اسکریپتی که دارای متد $(document).ready(function () {}); هستند در کامپوننت‌های ما مجدداً بارگذاری شوند. در این حالت باید روش زیر را در پیش بگیرید.

1- متد جاوااسکریپتی خود را داخل یک فایل js به شکل زیر قرار دهید:

window.SetPeityChart = () => {
	$(document).ready(function () {
		//Todo
	});
}

2- در کامپوننت مورد نظرتون متد OnAfterRenderAsync را override کنید.

        [Inject]
        private IJSRuntime js { get; set; }

        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (firstRender)
            {
                await js.InvokeVoidAsync("SetPeityChart");
            }
        }