【问题标题】:how do you share data between viewmodels in Flutter Provider state management?如何在 Flutter Provider 状态管理中的视图模型之间共享数据?
【发布时间】:2021-09-10 13:52:23
【问题描述】:

我是 Flutter Provider 状态管理的新手。如果每个视图都有自己的视图模型,那么如何在视图模型之间共享数据? 假设您有一个包含列表的视图模型,您想在一个屏幕中显示列表,而在另一个屏幕中您想显示列表计数?

【问题讨论】:

  • 你有代码吗?

标签: flutter flutter-provider


【解决方案1】:

您可以将ViewModels 放在小部件树的顶部,在MaterialApp 之前

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: <SingleChildWidget>[
        ChangeNotifierProvider<ViewModel1>(create: (_) => ViewModel1()),
        ChangeNotifierProvider<ViewModel2>(create: (_) => ViewModel2()),
      ],
      child: MaterialApp( ... );
    );
  }
}

这样您就可以在任何地方访问这两个视图模型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 2021-05-30
    • 2021-08-27
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多