android - 在导航到新 ViewModel 期间 MvxBundle 为空
问题描述
我已将应用程序从 MvvmCross 5.x 迁移到 MvvmCross 6.1.2,现在我在导航期间遇到了 ntransferring bundle 的问题。
IMvxNavigationService
被初始化并通过构造函数传递给VM。
现在我尝试将 MvxBundle 传递给MainViewModel
下一次调用
NavigationService.Navigate<MainViewModel>(new MvxBundle(new Dictionary<string, string>()
{
{"key1","value1" },
{"key2","value2" },
}));
在MainViewModel
我覆盖InitFromBundle
protected override void InitFromBundle(IMvxBundle parameters)
{
base.InitFromBundle(parameters);
}
但是parameters
是空的。 parameters.Data
不包含我的Dictionary
.
难道我做错了什么?
解决方案
用于导航
NavigationService.Navigate<ViewModel, Parameter type>(parapeter)
参数可以是任何引用类型。例如
await NavigationService.Navigate<MainViewModel, Dictionary<String, String>>(new Dictionary<String, String> {{"", ""}});
您正在导航的 ViewModel 必须继承MvxViewModel<MyObject>
和覆盖Prepare
方法
public class MainViewModel
{
public override void Prepare(Dictionary<String, String> parameter)
{
}
}
推荐阅读
- java - 当两个引用变量引用具有相同 hashCode 的同一个对象时,== 返回 false [toString()] 背后的逻辑是什么?
- shopware - Shopware 6 : detail: "\"CustomTest\\Controller\\BackendController\" 没有设置容器,您是否忘记将其定义为服务订阅者?
- r - R:用NA替换列范围内的值
- tmux - 按“ctrl+c”时 tmux 退出
- bash - bash 列出特定命名约定的文件
- python-3.x - 如何通过在 Python 中使用正则表达式过滤来打印准确的句子
- python-3.x - 在 django 更新时间更改用户图像
- object-detection - 在同一 GPU 上训练的 2 个 TENSORFLOW 对象检测模型的性能差异
- video-capture - 从实时视频播放中实时捕获文本
- flutter - 列表视图未正确重建