首页 > 解决方案 > 有什么方法可以获取“Dart”中类(apiData)返回的数据?

问题描述

class _CategoriesPageState extends State<CategoriesPage> {
  List postsData;
  int categoryID;

  void getApiData() async {
    //Get posts api data
    ApiData apiData = ApiData(
      apiUrl: 'http://website.com/wp-json/wp/v2/posts?categories=$categoryID',
    );

    dynamic responseBody = await apiData.getData();
    setState(() {
      postsData = json.decode(responseBody);
    });
  }

现在我想在我的小部件中访问 (apiData),但是因为它在 void 函数内部,所以我不能使用它。

标签: flutterdart

解决方案


您必须在函数外部创建一个变量,以便您可以通过类对象访问。

class _CategoriesPageState extends State<CategoriesPage> {
  List postsData;
  ApiData apiData 
  int categoryID;

  void getApiData() async {
    //Get posts api data
    apiData = ApiData(
      apiUrl: 'http://website.com/wp-json/wp/v2/posts?categories=$categoryID',
    );

    dynamic responseBody = await apiData.getData();
    setState(() {
      postsData = json.decode(responseBody);
    });
  }

推荐阅读