【问题标题】:The method 'fromSnapshot' isn't defined for the type 'Rx'没有为“Rx”类型定义“fromSnapshot”方法
【发布时间】:2021-10-19 16:39:30
【问题描述】:

我收到错误没有为“Rx”类型定义方法“fromSnapshot”,我不知道为什么。这是模型的代码:

class AgentsModel {

  AgentsModel.fromSnapshot(DocumentSnapshot snapshot)
      : cellPhone = snapshot['cellPhone'] ?? null,
        fName = snapshot['fName'] ?? null,
        lName = snapshot['lName'] ?? null,
        email = snapshot['email'] ?? null;
}

这里是 auth_controller 代码:

  var agentsModel = AgentsModel().obs;

 _initializeAgentsModel(String userId) async {
    agentsModel.value =
      await _db.collection(agentsCollection)
        .doc(userId)
        .get()
        .then((doc) => agentsModel.fromSnapshot(doc));
  }

我不太了解自己在做什么,不知道为什么会出现此错误,但我知道 agentModel 是用 .obs 最后声明的。错误标记在“.fromSnapshot(doc)”上。

agentsModel.value 将被观察到,因为 agentModel 是可观察的,并且它将包含从 .fromSnapshot(doc) 传回的数据,所以我不明白为什么这是一个问题。

有人有什么想法吗?

【问题讨论】:

    标签: flutter observable flutter-getx


    【解决方案1】:

    fromSnapshot() 是命名构造函数,而不是对象上的方法。

    因此,将agentsModel.fromSnapshot(doc) 替换为AgentsModel.fromSnapshot(doc)

    【讨论】:

    • 谢谢。我不知道。
    猜你喜欢
    • 1970-01-01
    • 2021-09-02
    • 2022-11-21
    • 2020-12-14
    • 2021-07-19
    • 2021-09-01
    • 2021-09-17
    • 2021-06-11
    • 2021-06-28
    相关资源
    最近更新 更多