我什么时候在.net maui应用程序中加载视图数据?



我看到这么多相互矛盾的建议,所以我想我会问…如何在。net maui视图中使用VM从api加载数据?以下是我所看到的,但没有一个是可靠的:

  1. 在VM构造函数中-只被调用一次,所以不是一个选项
  2. 使用OnNavigatedTo -如果视图在AppShell选项卡中,则不会被调用。
  3. 使用onappear -如果视图在AppShell选项卡中,则不会被调用。

感谢

在VM构造函数中-只被调用一次,所以不是一个选项

它不是一个选项,原因比调用它的次数重要得多。

Use OnNavigatedTo -如果视图在AppShell中不会被调用选项卡。

非常好的地方,然而,很多时候你不会想要任何更新。MAUI现在不能提供关于导航事件的很多信息,除非你单独编写一些额外的代码。

Use OnNavigatedTo -如果视图在AppShell中不会被调用选项卡。

另一个非常好的地方,但是,加载数据需要时间,你需要相应地指示后台工作(活动指示器,错误处理等…)我很少在这里调用API。

我通常用两种方法处理它:

1。每次页面创建一次(NOT IN CONSTR)),并再次根据用户的要求。(拉刷新,等等…)

2。通过服务器消息,新数据可用。