如何从模型实例(具有来自api的值)传递数据并将其提供给Text()小部件

如何从模型实例(具有来自api的值)传递数据并将其提供给Text()小部件,api,flutter,dart,parameters,flutter-http,Api,Flutter,Dart,Parameters,Flutter Http,如何从模型实例(它具有来自api的值)传递数据并将其提供给Text()小部件? 但是没有listview的例子。我只需要给文本小部件赋值 在第一个块中,我的weather实例有一个值,但我不知道如何将这个值赋予我的文本小部件。如果你能帮助我,我将不胜感激 home.dart文件: import 'package:flutter/material.dart'; import 'package:weather_mix_app/models/weather_model.dart'; import 'p

如何从模型实例(它具有来自api的值)传递数据并将其提供给Text()小部件? 但是没有listview的例子。我只需要给文本小部件赋值

在第一个块中,我的weather实例有一个值,但我不知道如何将这个值赋予我的文本小部件。如果你能帮助我,我将不胜感激

home.dart文件:

import 'package:flutter/material.dart';
import 'package:weather_mix_app/models/weather_model.dart';
import 'package:weather_mix_app/services/weather.dart';

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  List<WeatherModel> weather = new List<WeatherModel>();

  @override
  void initState() {
    super.initState();
    setupWeather();
  }

  setupWeather() async {
    Weather weatherInstance = Weather();
    await weatherInstance.fetchData();
    weather = weatherInstance.weather;
  }

  @override
  Widget build(BuildContext context) {
    return Container(child: Text('WHAT I NEED TO WRITE...'));
  }
}

您可以访问
列表weather=[]Weather()。无效值:有效值范围为空:0。Thanksit表示列表为空。。。因为文本小部件是在API获取数据之前构建的。我建议未来的建设者。如果你愿意,我可以编辑代码来展示这个例子。谢谢。不要编辑它,我会做的。谢谢
import 'dart:convert';

import 'package:http/http.dart';
import 'package:weather_mix_app/models/weather_model.dart';

class Weather {
  List<WeatherModel> weather = [];

  Future<void> fetchData() async {
    try {
      Response response = await get(
          'http://api.weatherstack.com/current?access_key=3327f40525a4577b7d0a75aea0c7d44f&query=New%20York');

      Map jsonData = jsonDecode(response.body);

      WeatherModel weatherModel = WeatherModel(
          description: jsonData['current']['weather_descriptions'],
          temp: jsonData['current']['temperature'],
          feels_like: jsonData['current']['feelslike'],
          query: jsonData['request']['query']);
      weather.add(weatherModel);
      print(weather);
    } catch (e) {
      print('caught error! $e');
    }
  }
}
class WeatherModel {
  dynamic description;
  dynamic temp;
  dynamic feels_like;
  dynamic query;

  WeatherModel({this.description, this.temp, this.feels_like, this.query});
}