Funktion ausführen, nachdem das DOM geladen wurde (didRender, didInsertElement und decorateCooked funktionieren nicht)

Hallo. Ich versuche, ein Div auf der Topic-Show-Seite auszuwerten. Um dies zu tun, muss ich eine Funktion ausführen, nachdem das DOM auf der Topic-Show-Seite vollständig geladen ist.

In normalem JavaScript würde ich dafür „window.onload = function()…“ verwenden. Diese onload-Funktion scheint jedoch nicht zu funktionieren, wenn das Thema von innerhalb der Website aus aufgerufen wird.

Wie kann ich die Funktion ausführen, nachdem das DOM vollständig geladen ist?


Ich habe Folgendes versucht, und keines davon scheint zu funktionieren:

withPluginApi("0.11.1", api => {
    api.modifyClass('component:topic-title', {
          didRender: function(){  //habe auch "didInsertElement" versucht
                  //Funktion ausführen -- läuft immer noch, bevor alle divs geladen sind
           }
      }),
     api.decorateCookedElement(function() {
           //Funktion ausführen -- läuft immer noch, bevor alle divs geladen sind.
    })
})

Ich glaube, Sie müssen es über ein Komponentenereignis tun. Warum kümmern Sie sich überhaupt darum? Wählen Sie vielleicht eine Komponente tief im Baum aus, sozusagen. Eines der „Blätter“.

„Dom vollständig geladen“ ergibt in einer Single-Page-Anwendung nicht wirklich Sinn, da alles dynamisch ist?

Kurz gesagt, es scheint, als wären Sie bereits auf dem richtigen Weg. Welches Problem verursacht dies? Warum müssen Sie alle Divs geladen haben?

Was genau meinen Sie mit „einen Div auswerten“? Vielleicht gibt es einen anderen Weg, das zu tun, was Sie tun?

3 „Gefällt mir“

Ich möchte den Text des Divs ändern oder ihn in einigen Fällen aus der Ansicht entfernen.

Guter Punkt bezüglich der Komponente, die ich wähle – das könnte der Grund für die Schwierigkeiten sein, dass die Komponente, die ich wähle, vor einigen der Divs geladen wird und ich Komponenten ausprobieren könnte, die später geladen werden. Danke.

2 „Gefällt mir“