Wie erzwinge Ember.Component um erneut zu rendern?

8

Gibt es eine Möglichkeit, Ember.Component force render zu machen?

Es gibt .rerender() Methode, aber es hilft nicht. Auch habe ich versucht, .notifyPropertyChange für Vorlage, layoute - das gleiche

Für solche Fälle muss ich jetzt ein Stück Vorlage in if wrapper einwickeln und den Wert des Flags umschalten. Aber der Weg ist hässlich und langweilig.

Irgendwelche Ideen?

    
Vasiliy Vanchuk 12.06.2017, 12:19
quelle

2 Antworten

0

Sehen Sie sich die Ember Run-Schleife

an

Um diesen "Hintergrund" -Prozess zu umgehen, können Sie etwas wie folgt verwenden:

%Vor%

Dadurch wird die Ausführungsschleife neu gestartet, anstatt Ember mit der Änderung von Eigenschaften umzugehen und zu entscheiden, wie der Code ausgeführt werden soll, ähnlich wie bei der JavaScript-Ereignisschleife.

Eine gute Erklärung dafür finden Sie hier

    
DeclanPossnett 11.08.2017 15:03
quelle
0

Ich hatte das gleiche Problem mit einer meiner Komponenten. Wie es von der Community gesagt wird, sollten Sie dies nicht tun müssen, wenn Sie das korrekte Ember-Muster verwenden.

Aber wie es in einem bestimmten Fall war, habe ich einen Weg gefunden.

Sie müssen eine Aktion in Ihrem routes/somefile.js erstellen, um sie wie folgt zu aktualisieren:

%Vor%

und fügen Sie in Ihrer Komponentenansicht eine versteckte Schaltfläche hinzu, um auf die Aktion des Routers wie folgt zu klicken

%Vor%

und die in Ihrer Komponente, mit Jquery, können Sie auf die versteckte Schaltfläche klicken, und dies wird die Komponente aktualisieren.

Es ist keine großartige Lösung, aber es ist Arbeit. Hop, es wird helfen.

    
Djamel 20.11.2017 16:53
quelle

Tags und Links