10. Provider 配合 ViewModel 使用

幻昼 2021年10月29日 451次浏览

引入依赖

dependencies:
  # 4.InheritedWidget的包装器 ,使它们更易于使用和更可重用。
  provider: 5.0.0

ViewModel

类图

provider+viewmodel 类图

Widget

类图

provider+widget+viewmodel 流程图

流程图

provider+widget+viewmodel 流程图

使用

  1. 定义对应的 ViewModel
  2. 新建 ProviderWidget
  3. 编写 builder 里面 widget的内容
@override
  Widget build(BuildContext context) {
    return ProviderWidget(
      model: VideoDetailViewModel(),
      onModelInit: (model) => model.loadVideoData(data.id),
      builder: (context, model, child) {
        return _scaffold(model);
      },
    );
  }

完整参考

https://gitlab.xlxs.top/xlxsui/jin_eyepetizer