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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 如何从另一个提供程序内部的提供程序接收数据_Flutter_Flutter Provider - Fatal编程技术网

Flutter 如何从另一个提供程序内部的提供程序接收数据

Flutter 如何从另一个提供程序内部的提供程序接收数据,flutter,flutter-provider,Flutter,Flutter Provider,我想知道如何从下面我的提供程序类Player中名为的提供程序类接收数据。正如您在我的示例中看到的,我有一个play函数,它需要数据并等待字符串。数据位于名为provider.of(context,listen:false)的提供者字符串中 由于上下文的原因,我遇到了错误。没有上下文和我实现Provider.of(context,listen:false).url的方法是错误的。所以我的问题是:如何实现Provider.of(context,listen:false).url正确的方法?如何接收这

我想知道如何从下面我的提供程序类
Player
中名为
的提供程序类接收数据。正如您在我的示例中看到的,我有一个play函数,它需要数据并等待字符串。数据位于名为
provider.of(context,listen:false)的提供者字符串中

由于上下文的原因,我遇到了错误。没有上下文和我实现
Provider.of(context,listen:false).url的方法是错误的。所以我的问题是:如何实现
Provider.of(context,listen:false).url正确的方法?如何接收这些数据?谢谢你的帮助

class Player with ChangeNotifier {

  String path;
  final url = Provider.of<Data>(context, listen: false).url;

  void setPlayList(videosList) {
    url = path;
  }

  Future play() async {
   //my function
   await player.play(path);

  playerState = PlayerState.playing;
   notifyListeners();
  }

}
使用ChangeNotifier类播放器{
字符串路径;
final url=Provider.of(context,listen:false).url;
作废设置播放列表(视频列表){
url=路径;
}
Future play()异步{
//我的职能
等待玩家。玩(路径);
playerState=playerState.playing;
notifyListeners();
}
}

您可以使用
ChangeNotifierProxyProvider

ChangeNotifierProxyProvider(
创建:()=>Player(),
更新:(u,数据,播放器)=>player..update(数据),
)
在您的
Player
课程中:

使用ChangeNotifier类播放器{
字符串路径;
字符串url;
无效更新(数据){
_url=data.url;
}
...
}

谢谢你的回复,你能给我举一个我上面代码的例子吗?问候您是否只想从
数据
类中接收
url
,或从
Player
类中修改此值?如果您向我展示两种方法,我将不胜感激,以便我可以从中学习。:)但是对于这个例子,我只需要从
数据
类接收
url