TLDR: Entweder Sie verwenden Push/Poll-Techniken oder Sie müssen Ihre brandneue Komponente in GWT schreiben. Die Wahl liegt bei Ihnen
Um vollständig zu verstehen, warum müssen Sie wissen, wie Vaadin oder/und Web-Anwendungen arbeiten. Nehmen wir Ihr Beispiel: Sie möchten dem Browser mitteilen, dass er das Fenster nach einiger Zeit (5 Sek.) Schließen soll. Sie können gewünschte Wirkung auf zwei verschiedene Arten erreichen:
- Verwendung SetTimeout in JavaScript
- eine Nachricht vom Server an den Browser
SetTimeout in Vaadin senden: natürlich gibt es keine solche Methode in Vaadin, da dieses Framework vorkompilierte GWT-Komponenten verwendet. Sie müssten also entweder eine Komponente in Vaadin addons repo finden oder Ihre eigene schreiben. GWT ist kein JavaScript - das ist richtig, aber Sie können trotzdem Ihre eigene JavaScript-Datei mit jeder GWT-Komponente verbinden.
Senden einer Nachricht vom Server an den Browser bedeutet im Grunde Push/Polling. Es gibt keinen anderen Weg. Vaadin unterstützt tatsächlich beide, also ist das einzige, was Sie brauchen, über sie zu lernen.
Es gibt auch einen Hack, aber ich würde diesen Ansatz nicht empfehlen. Im Allgemeinen können Sie reinen JavaScript-Code zur Laufzeit ausführen mit:
JavaScript.getCurrent().execute("alert('Hello')");
Aber sollten Sie diesen Weg gehen, wollen Sie harte Zeit die Verwaltung Ihrer Pop-ups haben seit Vaadin Rahmen wird man nicht erwarten, Fenster zu schließen, dass er verantwortlich ist für .
Meinst du etwas wie [Benachrichtigung] (https://vaadin.com/docs/-/part/framework/application/application-notifications.html) oder [PopupView] (https://vaadin.com/docs /-/part/framework/components/components-popupview.html)? –
Entweder Sie verwenden Push/Poll-Techniken oder Sie müssen Ihre brandneue Komponente in GWT schreiben. Es ist deine Entscheidung. – kukis
ok @kukis, das scheint die Antwort zu sein: Es gibt keine andere Option als push/poll. – candela