视图模型:
import 'dart:async';
import 'package:stacked/stacked.dart';
class SplashPageViewModel extends BaseViewModel {
bool _hasFinishedTimer = false;
bool get hasFinshedTimer => _hasFinishedTimer;
void startTimer() {
Timer _timer;
_timer = Timer.periodic(Duration(seconds: 2), (timer) {
_hasFinishedTimer = true;
_timer.cancel();
//view.methodToTrigger()
notifyListeners();
});
}
}
关注MVVM原理,视图显示方式外,您没有逻辑。我想您应该将方法移至ViewModel。
但是,如果需要此方法运行一些视图逻辑,则最好提供更多信息。StateFullWidget
时,您不需要使用
ViewModel
。 您正在错误地使用
ViewModel
class ProfileScreen extends StatelessWidget{
@override
Widget build(BuildContext context) {
return ViewModelBuilder< SplashPageViewModel >.reactive(
builder: (context, model, child) => Scaffold(),
viewModelBuilder: () => SplashPageViewModel());
}
}
学习堆叠体系结构的最佳方法是阅读由Creater撰写的博客dane 这里是让您前进的两篇文章,第2部分,但是这些文章已有2年的历史,因此自那时以来,许多事情发生了变化,请检查插件的
page