簡體   English   中英

Dart:Class 構造函數未調用

[英]Dart : Class Constructor not called

我有以下代碼:

class Article {
    String title;
    String contentString;
    Content content;
    
    Article(String title, String contentString) {
        this.title = title;
        this.content = contentString;
        //I want to call function here
    }

    Article.fromJson(Map<String, dynamic> json)
      : title = json['title'],
        contentString = json['content'];

    void _someFunction() {
       //create function to generate the Content
    }
}

class Content {
  final String text;
  final bool isLink;

  Content({this.text, this.isLink});
}

我想要實現的是在初始化 class 時調用 function。 我試圖調試並添加斷點,但它沒有被觸發。 初始化 class 時是否可以調用 function?

您在//I want to...點放置的任何代碼都應在調用Article構造函數時調用。 如果改為調用Article.fromJson構造函數,則不會調用它。 這就是正在發生的事情,因為你還沒有說你如何構建Article s。

考慮將fromJson構造函數更改為:

  Article.fromJson(Map<String, dynamic> json)
      : this(json['title'], json['content']);

這是一個重定向生成構造函數,這意味着它轉發給Article構造函數,並且所有由它運行的代碼也將在使用Article.fromJson時運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM