0

我知道对此可能有不同的看法,但我想做这样的事情:

late final MyModel myModel;

class MyModel extends Model {
// setState and getState functions
   ...
}

然后在启动时,我想将一个新的 scopedModel 从上面放入一个全局变量中,例如:

myModel = ScopedModel.of<MyModel>(context, rebuildOnChange: true);

我这样做的原因是,我不必在每个小部件中获取模型,然后将其提供给我的函数,这些函数进行 API 调用以将 API 的响应保存在模型中,例如像这样(简化):

void onButtonPressed({MyModel myModel, DataModel dataModel String email, String password}) {
   myModel.loginUser(dataModel, email, password);
   ...
}

Future loginUser(DataModel dataModel, String email, String password) async {
   ...
   dataModel.setUserData(response);
}

而是做这样的事情:

import 'dataModelGlobal.dart' // including the global variable dataModel

Future loginUser(String email, String password) async {
   ...
   dataModel.setUserData(response);
}

您对此有何看法?有没有其他解决方案我不必将我的模型放入我的函数中?

4

0 回答 0