这个 LikeCreateModel 还有 LikeDestroyModel 要提供给小部件使用,下面我们可以在项目里新建一个文件,放在 lib/like 的下面,名字是 like_provider.dart。在这个文件里定义两个 Provider。
声明一个 likeCreateProvider,它的值可以新建一个 ChangeNotifierProxyProvider,第一个类型是 AppService,第二个类型是 LikeCreateModel,在这个 Provider 里面,用 create 返回一个要提供的东西,方法有个 context 参数,返回的是一个 LikeCreateModel 实例,设置一下它的 appService 参数,值是 context.read() 类型是 AppService。
下面再添加一个 update 参数,它也是一个方法,有三个参数,第一个参数是 context,第二个参数是 appService,第三个参数是 likeCreateModel。方法返回的值是一个 LikeCreateModel ,设置一下 appService,值是 appService。
复制一份这个 likeCreateProvider,修改一下名字,设置成 likeDestroyProvider, 这个 ChangeNotifierProxyProvider 的第二个类型设置成 LikeDestroyModel,也就是这个 Provider 要提供的东西的类型。
create 方法返回的是一个 LikeDestroyModel 实例,update 方法返回的也是一个 LikeDestroyModel 实例。
下面定义一个 likeProviders,它的值是一个列表,里面添加一个 likeCreateProvider,再添加一个 likeDestroyProvider。
app.dart
打开 app.dart,在 providers 里面,把 likeProviders 里的东西展开放到这里。