Polymer deaktiviert Seiten, wenn sie nicht in Sicht sind

8

Ich benutze die Polymer-Applikationsschublade aus dem Polymerkli.

Ich habe Probleme mit:

  1. Wenn Sie eine neue Seite laden, wird das HTML-Element importiert; dann wird es Code ausgeführt
  2. Wenn ich auf eine andere Seite gehe, läuft der Code für die vorherige Seite noch.

Gibt es eine Möglichkeit, die Seite / das Element zu zerstören und zu erstellen oder zu suspendieren und zu aktivieren?

Was ist die beste Vorgehensweise, um mit diesem Problem umzugehen?

Haben die Seiten eine create and destroy-Methode implementiert und rufen sie beim Seitenwechsel auf?

Ie

%Vor%     
Dale Snowdon 11.08.2016, 20:52
quelle

2 Antworten

5

Sie müssen eigentlich nichts kompliziertes implementieren, aber verwenden Sie einfach eine dom-if .

Arbeitender Prototyp: Ссылка

Wie Sie sehen können, verwendet "View One" ein benutzerdefiniertes Seitenelement, das bei der erneuten Auswahl immer umgestempelt wird. Andere Seiten sind gewöhnliche div -Elemente, da dies nur ein minimaler Prototyp ist. Aber dies zeigt auch, dass Sie selektiv auswählen können, welche Seiten neugestempelt werden und welche nicht (falls Sie dies nicht immer benötigen).

Das Wesentliche ist das Folgende: gemäß dom-if Dokumentation, wenn Sie Setzen Sie das restamp -Attribut auf true , dann wird dom-if immer Ihre Seiten erstellen und zerstören, wenn Sie sie auswählen / abwählen. Sie können dies in der Konsole sehen, wo ich sample-page ready für jedes ready Element ausdrucke. Ich erstelle auch eine Hilfsfunktion _equals , um beim Vergleich zu helfen, ob die angegebene Seite wirklich ausgewählt wurde.

Zusammenfassend lassen Sie mich den Code für die App einfügen:

%Vor%

Und der Code für die Beispielseite:

%Vor%

Hoffe das befriedigt Ihre Frage.

Hinweis : Sie sollten nicht das name -Attribut auf das dom-if selbst setzen, sondern auf seinen Inhalt (genauso wie ich).

    
alesc 03.12.2016, 10:31
quelle
2

Ich dachte, ich würde meine Lösung nach der Implementierung von @ alesc dom-if veröffentlichen, um das Element zu deaktivieren.

%Vor%     
Dale Snowdon 04.12.2016 19:20
quelle