仅在构造视图模型时,才能在视图模型中异步加载数据的最佳位置是什么? 异步方法无法在构造函数中调用,当前我正在OnAppearing事件中加载数据(使用EventToCommand):
private async void OnLoadData()
{
DataLoaded = await LoadCategories("0") && await LoadCities() && await OnLoadAgreement();
//....
}
但是每当我打开弹出窗口时,都会触发Appearing
事件,这不是我想要的意思。
我正在使用MVVMLight并在ViewModelLocator类中注册视图模型:
public AddItemViewModel AddItem
{
get
{
return SimpleIoc.Default.GetInstance<AddItemViewModel>(AddItemPage);
}
}
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<AddItemViewModel>();
}
CleanData命令也遇到相同的问题,我需要它在页面消失时(从最终用户的角度来看)被调用,但是在弹出窗口被关闭时被调用