我使用MvvmCross库进行跨平台移动开发。
我有带有聊天列表的页面(ChatListPageViewModel)。它通过Init()方法从容器加载聊天记录。
从此页面,您可以导航到将新聊天添加到容器(AddChatPageViewModel)的页面。
添加聊天后,我在AddChatPageViewModel中调用Close(this)。因此,我自动导航到ChatListPageViewModel,但是此时未调用Init()方法,因此无法刷新数据。我该如何处理?
最佳答案
Init保留用于初始化新的 View 模型-并不是为刷新现有 View 模型而专门设计的。
但是,我认为您可以通过以下方式实现所需的应用程序流类型:
添加聊天时
第一个方案的一个示例是CollectABull N + 1示例-https://github.com/slodge/NPlus1DaysOfMvvmCross/tree/master/N-13-CollectABull-Part2-当收集服务发生更改时,它会广播一条消息,允许订阅的ViewModels更新-有关演练视频,请参见http://mvvmcross.wordpress.com。
关于mvvm - 从另一个页面回来后重新初始化ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581377/