飞镖,错误:使用类实例时,只能在初始化程序中访问静态成员

时间:2019-07-13 17:21:40

标签: dart

class BusInformationScreen {
  final nodeId;

  BusInformationScreen({this.nodeId}); // initialize

  GetAPI getAPI = GetAPI(nodeID: nodeId);
  var busInfoList =   getAPI
}

class GetAPI {
  final nodeID;

  GetAPI({
    this.nodeID
  });

  // Let's say this class returns a list called lst
}

GetAPI的参数为nodeID

我想在GetAPI类中使用BusInformationScreen

首先,我创建了一个名为GetAPI的{​​{1}}实例,并得到了一个getAPI作为nodeId的参数。

第二,getAPI将给出一个nodeID,我想将第一个保存到lst变量中。

但是我得到了busInfoList 因为Only static members can be accessed in initializersnodeId

我的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

您应该从构造函数内部初始化GetAPI:

class BusInformationScreen {
  final nodeId;
  var busInfoList;

  BusInformationScreen({this.nodeId}) {
    GetAPI getAPI = GetAPI(nodeID: nodeId);
    busInfoList = getAPI;
  }
}