vmobject 1.0.1 copy "vmobject: ^1.0.1" to clipboard
vmobject: ^1.0.1 copied to clipboard

outdated

Base classes used to build Flutter project follow pattern MVVM

Base classes used to build Flutter project follow pattern MVVM

structure

Classes #

ObserverWidget #

A widget auto rebuild every time the observable changed

//define observable in viewmodel
final count = Observable(0);
//used in build context
ObserverWidget(
    observable: count,
    builder: (context, int value) => Text('$value')
)

Dependency on library obsobject

ViewModel #

Base class for viewmodel layer

class HomeModel extends ViewModel {
    //somethings...
}

In somewhere, you can use ViewModel.of to get created objects already

final home = ViewModel.of<HomeModel>();

Lifecycle events call below functions, you can overwrite these functions to handle something (subscribe, create computed objects, fetch data,...)

  • activate: called before render widget
  • dispose: called after widget removed

ViewWidget #

Base class for view layer. There are 2 methods should override initModel and builder

By default, the viewmodel for view is initialized only once and cached. You can override property cacheModel to false to ignore use cache viewmodel (eg: login view).

class HomeView extends ViewWidget<HomeModel> {
    @override
    HomeModel initModel() => HomeModel();

    @override
    Widget builder(BuildContext context, HomeModel model) {
        //return widget
    }
}
1
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Base classes used to build Flutter project follow pattern MVVM

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, obsobject

More

Packages that depend on vmobject