Flutter 中 ViewModelProvider 中的 onModelReady 和 builder 是啥?

Posted

技术标签:

【中文标题】Flutter 中 ViewModelProvider 中的 onModelReady 和 builder 是啥?【英文标题】:What is onModelReady and builder in ViewModelProvider in Flutter?Flutter 中 ViewModelProvider 中的 onModelReady 和 builder 是什么? 【发布时间】:2021-04-03 00:01:06 【问题描述】:

provider_arhitecture 提供了一个小部件 ViewModelProvider,您可以将其与 ViewModel 连接。我不明白的一件事是 builder 和 onModelReady 之间有什么区别,就像这里的例子一样:

class HomeView extends StatelessWidget 

@override
Widget build(BuildContext context) 

return ViewModelProvider<HomeViewModel>.withConsumer(
  viewModelBuilder: () => HomeViewModel(),
  onModelReady: (model) => model.initialise(),
  builder: (context, model, child) => Scaffold(
    floatingActionButton: FloatingActionButton(
      onPressed: () 
        model.updateTitle();
      ,
    ),
    body: Center(
      child: Text(model.title),
    ),
  ),
);

【问题讨论】:

【参考方案1】:

根据文档:

onModelReady 在模型处于就绪状态后触发模型,类似于有状态小部件中的initState

builder 是使用存储在模型中的数据来构建 UI。

查看文档:

https://pub.dev/packages/stacked

https://pub.dev/packages/stacked#call-onmodelready-only-once

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于Flutter 中 ViewModelProvider 中的 onModelReady 和 builder 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter混合开发:Android中如何启动Flutter

flutter系列之:在flutter中使用导航Navigator

Flutter 中 stateless 和 stateful widget 的区别[Flutter专题60]

FlutterFlutter 混合开发 ( 关联 Android 工程与 Flutter 工程 | 安卓页面中嵌入 Flutter 页面 | 安卓中启动 Flutter 页面 )

Flutter 1-18个Flutter的优势以及为什么要在下一个项目中尝试Flutter

Flutter-布局