0

输出错误:

The following NoSuchMethodError was thrown building ScopedModelDescendant<MainModel>(dirty, dependencies: [_InheritedModel<MainModel>]):
The getter 'sampleVariable' was called on null.
Receiver: null
Tried calling: sampleVariable

场景:我有多个类将模型链接到一个主类(即 MainModel)。现在,我已经更新了从“范围模型”模型扩展的一个类中的一个变量。当我在导航到另一个组件后尝试访问该变量时,它会引发“NoSuchMethodError”=> 在 null 上调用了 getter“变量”。这可能是一个错误吗?

填充变量的那个:

...
sampleVariable = 'NewData';
notifyListeners();
Navigator.pushNamed(context, 'newPage');

newPage 组件尝试获取变量“sampleVariable”:

...
ScopedModelDescendant<MainModel>(
          builder: (BuildContext context, Widget child, MainModel model) {
        print(model.sampleVariable);
...
}),
...

更奇怪的是,当从 vscode 颤动动作触发“重启”按钮时,它会打印变量“sampleVariable”值。

4

1 回答 1

0

看起来我在整个应用程序中有一个重复的类对象。我通过仅依赖扩展“Scoped Model”模型的单个类的一个类对象来修复它。

于 2020-02-14T10:10:03.463 回答