我正在使用初始计数器应用程序,将其重建为使用ScopedModel
。基本上,我的代码类似于ScopedModel网站上的代码:https://pub.dartlang.org/packages/scoped_model。从计数器返回的只是具有计数器值的小部件,而不是内联创建的:
Widget counterLabel(BuildContext context) {
// approach 1: throws ScopedModelError on package:scoped_model/scoped_model.dart:181
final count = ScopedModel.of<CounterModel>(context).counter;
return Text("$count");
// approach 2: works
return ScopedModelDescendant<CounterModel>(builder: (context, child, model) => Text("${model.counter}"));
}
帮助我了解为什么我无法使用方法1。据我了解,如果ScopeModelDescendand
小部件能够从上下文中获取模型,那么ScopedModel.of
也应如此。