缓存视图模型时,如何在MVVMLight中构造类时如何异步加载数据?

时间:2018-12-31 19:33:11

标签: xamarin mvvm mvvm-light

仅在构造视图模型时,才能在视图模型中异步加载数据的最佳位置是什么? 异步方法无法在构造函数中调用,当前我正在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命令也遇到相同的问题,我需要它在页面消失时(从最终用户的角度来看)被调用,但是在弹出窗口被关闭时被调用

0 个答案:

没有答案