flutter model类的2种写法

如果这2种方法,用工厂模式的一定在成员变量前加final,不然要报错了

方法一:成员变量有 final 的

class TravelTabModel {

 final String url;

 final List tabs;

  TravelTabModel({this.url,this.tabs});

    factory  TravelTabModel.fromJson(Map json){

    String url =json['url'];

    List tabs = (json['tabs'] as List).map((i)=>TravelTab.fromJson(i)).toList();

      return TravelTabModel(url: url,tabs: tabs );

    }

}

 

class TravelTab {

   String labelName;

   String groupChannelCode;

 

   TravelTab({this.labelName,this.groupChannelCode});

 

    TravelTab.fromJson(Map json){

      labelName =json['labelName'];

      groupChannelCode = json['groupChannelCode'];

    }

 

}

方法二:没有final 的方法。

class TravelTabModel {

  String url;

 List tabs;

 

  TravelTabModel({this.url,this.tabs});

   TravelTabModel.fromJson(Map json){

      url =json['url'];

     (json['tabs'] as List).map((i) => TravelTab.fromJson(i));

   }

}

 

class TravelTab {

   

   String labelName;

   String groupChannelCode;

 

   TravelTab({this.labelName,this.groupChannelCode});

 

    TravelTab.fromJson(Map json){

      labelName =json['labelName'];

      groupChannelCode = json['groupChannelCode'];

    }

 

}

 

 

 

 

 

 

你可能感兴趣的:(geren)