android – Flutter中的MVVM设计模式

android – Flutter中的MVVM设计模式,第1张

概述我们尝试开发一个颤动的应用程序,我们创建一个状态小部件作为页面. 我们想要在2个不同的文件中将构建函数与其他状态变量和状态函数分开,构建函数可以访问这个状态类  我们创建一个类: PageClassState extend State<PageClass>{ string value = 'string value';} 并在一个可以访问此变量的PageClassState的新类中扩展它 我们尝试开发一个颤动的应用程序,我们创建一个状态小部件作为页面.
我们想要在2个不同的文件中将构建函数与其他状态变量和状态函数分开,构建函数可以访问这个状态类
 我们创建一个类:

PageClassstate extend State<PageClass>{    string value = 'string value';}

并在一个可以访问此变量的PageClassstate的新类中扩展它
我们写 :

PageClassVIEw extend PageClassstate{    @overrIDe    Widget Build(){      return(new Text(this.value))    }}

但是在PageClassstate中我们得到一个错误,说我们必须覆盖类中的构建方法.是否有任何建议来解决问题并在Flutter中实现MVVM设计模式

解决方法 我建议将viewmodel代码移动到一个不扩展State的单独类中.保持viewmodel平台独立.
您的窗口小部件状态可以包含viewmodel的实例并与之交互.

你可以找到一个more detailed example here

如果子窗口小部件需要访问您的viewmodel,您可以使用@RémiRousselet建议的继承窗口小部件.
我很快为你实现了这个:

class viewmodelProvIDer extends inheritedWidget {  final viewmodel viewmodel;  viewmodelProvIDer({Key key,@required this.viewmodel,Widget child})   : super(key: key,child: child);  @overrIDe  bool updateShouldNotify(inheritedWidget oldWidget) => true;  static viewmodel of(BuildContext context) =>      (context.inheritFromWidgetOfExactType(viewmodelProvIDer) as   viewmodelProvIDer).viewmodel;}

子窗口小部件可以通过调用来获取viewmodel

var viewmodel = viewmodelProvIDer.of(context);

如果您有任何问题,请告诉我:)

总结

以上是内存溢出为你收集整理的android – Flutter中的MVVM设计模式全部内容,希望文章能够帮你解决android – Flutter中的MVVM设计模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1000482.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存