У меня есть страница Tracker.razor. Эта страница предназначена только для получения данных из базы данных.
У меня также есть Map.razor, который является компонентом, с помощью которого я вызываю карты Google.
Как я могу вызвать компонент из Tracker.razor?
Код: Выделить всё
Код: Выделить всё
Tracker.razor.csКод: Выделить всё
public partial class Tracker.razor.cs
{
private MyBookingData bookingData;
private MyBookingData data;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender) // This is where I grab the MyBookingData bookingData
}
// This function being called for every 30 sec
private GetBookingData()
{
// Grab MyBookingData bookingData JobStatus
// if success then assign this to data
// data = bookingData
// Note i did this because some reason bookingData changes wont
// get recognize by blazor.
}
}
Код: Выделить всё
public partial class Map
{
[Parameter] public MyBookingObject ValueData{ get; set; }
[Parameter] public EventCallback GoogleRouteResult { get; set; }
protected override async Task OnParametersSetAsync()
{
try
{
if (ValueData is null) return;
// My Logic to check if there's changes from ValueData to tempData
// if yes then assign tempData = ValueData
// If not then return;
// My entire Logic
}
}
}
Потому что мне нужно только обновлять данные/передавать данные на карту каждые 30 секунд, а если я использую OnParameterSetAsync, он продолжает вызывать каждый раз, поэтому почему у меня есть логика для обнаружения изменений между двумя одними и теми же объектами.
Я тоже рассмотрите возможность создания события Action, но я не уверен, что это не вызовет проблем в будущем.
Любая помощь будет оценена по достоинству. Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/798 ... ent-blazor
Мобильная версия