输出错误:
The following NoSuchMethodError was thrown building ScopedModelDescendant<MainModel>(dirty, dependencies: [_InheritedModel<MainModel>]):
The getter 'sampleVariable' was called on null.
Receiver: null
Tried calling: sampleVariable
场景: 我有多个将Model链接到一个主类(即MainModel)的类。现在,我已经更新了我从“范围模型”的模型扩展的一个类中的变量。当我导航到另一个组件后尝试访问该变量时,它引发了“ NoSuchMethodError” =>在空值上调用了“ getter”变量。那可能是个错误吗?
填充变量的那个:
...
sampleVariable = 'NewData';
notifyListeners();
Navigator.pushNamed(context, 'newPage');
newPage组件尝试获取变量“ sampleVariable”:
...
ScopedModelDescendant<MainModel>(
builder: (BuildContext context, Widget child, MainModel model) {
print(model.sampleVariable);
...
}),
...
更奇怪的是,当从vscode flutter动作触发“重新启动”按钮时,它将打印变量“ sampleVariable”值。
答案 0 :(得分:0)
好像我在整个应用程序中都有一个重复的类对象。我仅依靠扩展“范围模型”模型的单个类的一个类对象来解决此问题。