在 Xamarin.Forms MVVM-Application 中加载数据的位置


将数据

加载到Xamarin.Forms MVVM-Architecture应用程序中的最佳位置在哪里?例如:

我正在使用带有一些包含选择器的内容页面的选项卡式页面。选取器 ItemsSources 绑定到 ViewModel-Properties。放置加载选取器项源数据的逻辑的最佳位置在哪里?

我可以在 ViewModel-Constructor 中做到这一点,但我认为不建议这样做,因为在构造函数中加载数据只是糟糕的编码。不幸的是,我在页面上找不到任何"加载"。也许可以使用"出现"事件?

数据的加载是异步的,我目前根本没有使用任何 MVVM 框架。

这取决于要使用的 MVVM 框架。我个人更喜欢FreshMvvm。这有一个Init方法,您可以在 ViewModel 中覆盖,这是加载数据的理想位置。它还为您提供了简单的导航方法。Init方法也是将新视图推送到导航堆栈时可以将数据传递到的位置。除此之外,它还为您提供ViewIsAppearingViewIsDisappearing方法。

public override void Init (object initData)
{
    base.Init (initData);
}
public override void ReverseInit(object returnedData)
{
    base.ReverseInit(returnedData);
}
protected override void ViewIsAppearing(object sender, EventArgs e)
{
    base.ViewIsAppearing(sender, e);
}
protected override void ViewIsDisappearing(object sender, EventArgs e)
{
    base.ViewIsDisappearing(sender, e);
}

相关内容

最新更新