一个Flutter的MVVM(Model-View-ViewModel)实现, 它使用基于属性(property)的数据绑定在视图模型(ViewModel)与视图(View)之间建立关联,并通过视图模型(ViewModel)驱动视图(View)变化。以此简化Flutter开发过程中繁重的状态管理与widget树控制。
import'package:flutter/widgets.dart';import'package:mvvm/mvvm.dart';import'dart:asyc';//defieViewModelclassDemo1ViewModelextedsViewModel{Demo1ViewModel(){//defiebidablepropertyproperty<Strig>("time",iitial:"");//timerstart();}start(){Timer.periodic(costDuratio(secods:1),(_){varow=DateTime.ow();//callsetValuesetValue<Strig>("time","${ow.hour}:${ow.miute}:${ow.secod}");});}}//defieViewclassDemo1extedsView<Demo1ViewModel>{Demo1():super(Demo1ViewModel());@overrideWidgetbuildCore(BuildCotextcotext){returCotaier(margi:EdgeIsets.symmetric(vertical:100),paddig:EdgeIsets.all(40),//bidigchild:$.watchFor("time",builder:$.builder1((t)=>Text("$t",textDirectio:TextDirectio.ltr))));}}//ruvoidmai()=>ruApp(Demo1());点击空白处退出提示
评论