Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter ChangeNotifier模型-如何使用fromMap()?_Flutter_Dart - Fatal编程技术网

Flutter ChangeNotifier模型-如何使用fromMap()?

Flutter ChangeNotifier模型-如何使用fromMap()?,flutter,dart,Flutter,Dart,我有一个类,它像这样扩展了ChangeNotifier import 'package:flutter/foundation.dart'; class Person extends ChangeNotifier { int _age = 0; int get age => _age; set age(int value) { _age = value; notifyListeners(); } factory Person.fromMap(Map

我有一个类,它像这样扩展了
ChangeNotifier

import 'package:flutter/foundation.dart';

class Person extends ChangeNotifier {
  int _age = 0;

  int get age => _age;

  set age(int value) {
    _age = value;
    notifyListeners();
  }

  factory Person.fromMap(Map<String, dynamic> obj) => Person(
        age: obj["Age"],
      );
}
你知道怎么纠正吗

我确实试过了

class Person extends ChangeNotifier {

  Person();

  int _age = 0;

  int get age => _age;

  set age(int value) {
    _age = value;
    notifyListeners();
  }

  factory Person.fromMap(Map<String, dynamic> obj) => Person(
        age: obj["Age"],
      );
}

您必须创建一个以年龄为参数的命名构造函数

class人员扩展变更通知程序{
int _age=0;
人({int age}):这个。_age=age;
//代码的其余部分
}

您可以在这里阅读更多关于构造函数的信息

谢谢,您能解释一下这部分的作用吗<代码>人({int age}):这个。_age=age通常我会使用
Person({this.age})@totalitarian您没有名为age的公共成员变量,您有一个私有变量&u age。因此,您在
Person({int-age})中引入了一个局部参数/变量
您可以将任何参数名放在那里,比如
Person({int-foo})
。然后您想将您在本地参数中收到的值分配给您的私有成员。@totalitarian我将成员变量的分配简化为一行。这和写
Person({int-age}{this.\u-age=age;}
理解一样,再次感谢。@极权主义者欢迎你。快乐编码!!!
class Person extends ChangeNotifier {

  Person();

  int _age = 0;

  int get age => _age;

  set age(int value) {
    _age = value;
    notifyListeners();
  }

  factory Person.fromMap(Map<String, dynamic> obj) => Person(
        age: obj["Age"],
      );
}
The named parameter 'age' isn't defined.
Try correcting the name to an existing named parameter's name, or defining a named parameter with the name 'age'