Android/WASM: prismMvvm:ViewModelLocator.AutoWireViewModel="True"无法为Android和Wasm上的ViewModel进行自动配置
创始人
2024-08-20 07:30:12
0

这个问题的解决方法是在Android和Wasm上手动配置ViewModel,而不是使用自动配置功能。

下面是一个示例代码,展示如何手动配置ViewModel:

在Android上:

  1. 创建一个名为ViewModelLocator的类,继承自ViewModelProvider.AndroidViewModelFactory
public class ViewModelLocator extends ViewModelProvider.AndroidViewModelFactory {

    private Application mApplication;

    public ViewModelLocator(@NonNull Application application) {
        super(application);
        mApplication = application;
    }

    @Override
    public  T create(@NonNull Class modelClass) {
        if (modelClass.isAssignableFrom(MyViewModel.class)) {
            return (T) new MyViewModel(mApplication);
        }
        throw new IllegalArgumentException("Unknown ViewModel class");
    }
}
  1. 在Activity或Fragment中使用ViewModelProvider来获取ViewModel,并将ViewModelLocator传递给它。
ViewModelLocator viewModelLocator = new ViewModelLocator(getApplication());
MyViewModel viewModel = new ViewModelProvider(this, viewModelLocator).get(MyViewModel.class);

在Wasm上:

  1. 创建一个名为ViewModelLocator的类,实现Ioc.IContainer接口。
public class ViewModelLocator : Ioc.IContainer
{
    public T Resolve() where T : class
    {
        if (typeof(T) == typeof(MyViewModel))
        {
            return new MyViewModel() as T;
        }
        throw new ArgumentException("Unknown ViewModel class");
    }
}
  1. 在Startup类的ConfigureServices方法中注册ViewModelLocator
services.AddSingleton();
  1. 在需要使用ViewModel的地方,通过Ioc服务来获取ViewModel实例。
var viewModelLocator = HttpContext.RequestServices.GetService();
MyViewModel viewModel = viewModelLocator.Resolve();

通过手动配置ViewModel,您可以在Android和Wasm上实现相同的功能,并避免使用自动配置时的问题。

相关内容

热门资讯

热点讨论“荔枝竞技辅助”原生有... 荔枝竞技辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,荔枝竞技辅助作为一种经典的娱乐方式,吸引...
分享一款“小闲54辅助”原本有... 您好:这款小闲54辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款小闲54辅助游戏中打牌都会发现很...
免费测试版“网易亲友圈辅助”原... >>您好:网易亲友圈辅助确实是有挂的,很多玩家在这款网易亲友圈辅助游戏中打牌都会发现很多用户的牌特别...
实测交流“wejoker透视方... 实测交流“wejoker透视方法”先前有辅助工具(有人有挂);打开点击测试直接进入微信(136704...
发现玩家“闲玩暗宝辅助软件”一... 发现玩家“闲玩暗宝辅助软件”一向有辅助开挂平台(揭秘有挂);无需打开直接搜索加薇136704302(...
透视好友房“吉祥填大坑游戏攻略... 透视好友房“吉祥填大坑游戏攻略”原先有辅助开挂工具(有挂辅助) 了解更多开挂安装加(13670430...
一秒答解“微信大厅辅助挂”从来... 一秒答解“微信大厅辅助挂”从来有开挂辅助安装(有挂分享);无需打开直接搜索薇:136704302 咨...
一分钟揭秘“衢州都莱辅助器是真... 一分钟揭秘“衢州都莱辅助器是真是假”先前有辅助开挂脚本(有挂辅助)1、下载安装好衢州都莱辅助器是真是...
科技新动态“新佛手在线辅助软件... 科技新动态“新佛手在线辅助软件”一向有开挂辅助器(有挂教学) 了解更多开挂安装加(136704302...
推荐攻略“上饶中至脚本修改”一... 您好:上饶中至脚本修改这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...