• stream


    自带的:

    单一

    class DataBloc {
      StreamController dataBloc = StreamController();
      StreamSink get dataSink => dataBloc.sink;
    }
    

      

    addData(){
        dataBloc.dataSink.add('addsfdb');
      }
    

      



    StreamBuilder(
                stream: dataBloc.dataBloc.stream,
                builder: (context, snapshot){
                  if(snapshot.hasData){
                    return Text('${snapshot.data}');
                  }else{
                    return Text('first');
                  }
                },
              ),
    

      

    多次

    class DataBloc {
      StreamController dataBloc;
      DataBloc(){
        dataBloc = StreamController.broadcast();
      }
      Stream get dataStream => dataBloc.stream;
      StreamSink get dataSink => dataBloc.sink;
    }
    

      

    StreamBuilder(
                stream: dataBloc.dataStream,
                builder: (context, snapshot){
                  if(snapshot.hasData){
                    print('this first ${snapshot.data}');
                    return Text('${snapshot.data}');
                  }else{
                    return Text('first');
                  }
                },
              ),
    
              StreamBuilder(
                stream: dataBloc.dataStream,
                builder: (context, snapshot){
                  if(snapshot.hasData){
                    print('this seconds. ${snapshot.data}');
                    return Text('${snapshot.data}');
                  }else{
                    return Text('second');
                  }
                },
              ),
    

      

     addData(){
        dataBloc.dataSink.add('addsfdb');
      }
    

      

    rxdart:

    class DataBloc {
      PublishSubject dataBloc = PublishSubject();
    }
    

      

    StreamBuilder(
                stream: dataBloc.dataBloc.stream,
                builder: (context, snapshot){
                  if(snapshot.hasData){
                    print('this first ${snapshot.data}');
                    return Text('${snapshot.data}');
                  }else{
                    return Text('first');
                  }
                },
              ),
    
              StreamBuilder(
                stream: dataBloc.dataBloc.stream,
                builder: (context, snapshot){
                  if(snapshot.hasData){
                    print('this seconds. ${snapshot.data}');
                    return Text('${snapshot.data}');
                  }else{
                    return Text('second');
                  }
                },
              ),
    

      

    addData(){
        dataBloc.dataBloc.add('xyz');
      }
    

      

  • 相关阅读:
    JS常见错误和分析
    angularjs 笔记(1) -- 引导
    各大浏览器hack
    AngularJS 配置和运行phonecat错误
    npm start 作用
    $.prop()和$.attr() 区别用法
    HDU 1251 统计难题 (Tire树)
    Luogu P3370 【模板】字符串哈希
    Luogu P3385 【模板】负环
    LuoguP1563 玩具谜题
  • 原文地址:https://www.cnblogs.com/pythonClub/p/10839848.html
Copyright © 2020-2023  润新知