Domanda

Stavo cercando di usare Dart angolare con eventi Web WebSets / Server e non è riuscito a trovare alcuna documentazione / esempi (ci sono alcuni per AngularJS ma sembra molto diverso per tali cose).Alcune cose che ho provato anche non hanno funzionato.

Qualcuno sa come fare questo?

Ecco una versione di ciò che ho provato e l'errore:

@NgController (
    selector: "ACdistribution",
    publishAs : "dstbn")
class ACDstbnController{
  List <WtdPres> distbn;

  void updateDstbn(List<WtdPres> newdstbn){
    distbn = newdstbn;
  }


  final dstbnsrc = new EventSource("../dstbns")
        ..onMessage.listen((event){
    List wps = JSON.decode(event.data);
    List <WtdPres> newdistbn = wps.map((wp) => new WtdPres.fromJson(wp));
    updateDstbn(newdistbn);
      });

}
.

L'errore che ho ottenuto in Pub Build era:

web/provingground.dart:55:5:
'updateDstbn' is only available in instance methods.
    updateDstbn(newdistbn);
    ^^^^^^^^^^^
.

È stato utile?

Soluzione

Ci sono limitazioni su ciò che puoi fare su inizializzatori per i campi finali.

puoi provare a mettere questo codice all'interno del costruttore

var dstbnsrc;

ACDstbnController() {
  dstbnsrc = new EventSource("../dstbns")
        ..onMessage.listen((event){
    List wps = JSON.decode(event.data);
    List <WtdPres> newdistbn = wps.map((wp) => new WtdPres.fromJson(wp));
    updateDstbn(newdistbn);
      });
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top