【发布时间】:2020-04-30 09:13:10
【问题描述】:
我正在构建一个应用程序,并希望使用 Provider 作为我的 DI 工具。
我想构建一个具有以下架构的应用:
- 观看次数
- 视图模型
- 服务
视图是简单的 UI,由(几乎)每个视图的视图模型支持。这些视图模型依赖于服务持有的值。
使用ChangeNotifierProvider 扩展视图模型以反映 UI 中的变化,这可以正常工作。但是我应该用什么来响应服务的变化。单个服务可以在多个视图模型中使用,当然,我需要让它们都保持最新。
我查看了一些教程,在Flutter Provider v3 Architecture using ProxyProvider for Injection 中挖掘,但它真的没有向我解释这种情况,或者我不明白。
ProxyProvider 用于那里的其他情况。 Viewmodel 向服务发出请求,但它的值直接在 UI 中使用。
使这种连接工作的正确方法是什么?我应该在这种情况下使用ChangeNotifierProxyProvider 吗?我应该使用流吗?
【问题讨论】: