Ich versuche zu verstehen, wie man einen Beobachter innerhalb einer Polymer-Komponente innerhalb von attached()
und detached()
-Ereignissen ein- und ausschalten kann, so dass er erst nach dem Anhängen des Elements beginnt, zu beobachten. Irgendwelche Ideen?Wie setze ich einen Beobachter in Polymer?
Antwort
Momentan gibt es keine öffentliche API, um Beobachter zwingend hinzuzufügen (aber eine private existiert) und keine API, um sie zu entfernen. Die private Funktion _addComplexObserverEffect(...)
erstellt einen Beobachter für eine oder mehrere Eigenschaften. Diese Funktion verarbeitet jeden Beobachterausdruck im Array observers
des Polymers. Beachten Sie den Vorbehalt, eine private Funktion zu verwenden, da sie in der nächsten Version unbrauchbar sein könnte.
Man könnte es wie folgt verwenden:
Polymer({
...,
properties: {
foo: String
},
attached: function() {
this._addComplexObserverEffect('_fooChanged(foo)');
},
_fooChanged: function(foo) { ... }
});
Wenn Sie n Dynamik haben keine private Methode und es ist nur eine Frage der Zeit und keinen Bedarf verwenden möchten Beobachter, setzen Sie einfach eine Stütze, sobald das Element angefügt ist, fügen Sie diese Stütze dem Beobachter hinzu und führen Sie nur aus, wenn es angebracht wird.
Polymer({
is: 'my-el',
properties: {
bar: String,
attached: {
type: Boolean,
value: false
}
},
observers: [
'_barChagned(bar, attached)'
],
_barChagned: function(bar, att) {
if(!att) return;
// Do your stuff
},
attached: function() {
this.set('attached', true);
}
});
- 1. Verwendung Beobachter in Polymer-Modul
- 2. Polymer 1.0 Beobachter - funktioniert nicht auf Array
- 3. Polymer, Beobachter für Objekteigenschaft mit numerischem Tasten
- 4. Gemeinsamer Polymer-Beobachter: Erhalten der Ursprungseigenschaft
- 5. Wie setze ich eine Polymer-App in einen festen/max. Breiten Container?
- 6. Polymer Beobachter in App-Schublade-Vorlage. Understanding Routing
- 7. Wie setze ich einen Blockdatenwert?
- 8. Wie setze ich einen Ton in Qt
- 9. Wie setze ich einen Rand in UITextView?
- 10. Wie setze ich einen Cookie in Sinatra?
- 11. Wie setze ich einen Timer in Java?
- 12. Wie setze ich einen Listener in Xamarin?
- 13. Wie setze ich einen Standardwert in selectize.js?
- 14. Wie setze ich einen Alias in nixos?
- 15. Wann muss ich einen Beobachter entfernen
- 16. Gab es eine Veränderung in Polymer 1 gegenüber Polymer 2 für Array-Beobachter?
- 17. Wie Beobachter Pfadänderung im Dialog
- 18. Wie füge ich einen Beobachter für eine wechselnde Höhe hinzu?
- 19. Wie setze ich einen TableView in einen Abschnitt Header
- 20. Benutzerdetails können nicht im lokalen Speicher gespeichert werden, ohne einen Beobachter zu verwenden (Firebase & Polymer-Authentifizierung)
- 21. Wie setze ich einen leeren Zeichensatz
- 22. Wie setze ich einen UINavigationController zurück?
- 23. Wie setze ich einen tabBarController als rootViewController
- 24. Wie setze ich einen benutzerdefinierten Feldnamen?
- 25. Wie setze ich einen unterbrochenen Download fort?
- 26. Excel Füllpunkt - Wie setze ich einen Iterationszähler?
- 27. Haml: Wie setze ich einen dynamischen Klassenwert?
- 28. Wie setze ich Platzhalter auf einen Tabellenfilter?
- 29. Wie setze ich einen Standardwert für const?
- 30. Wie setze ich einen Klickzähler zurück?
Gibt es Pläne, dies in Zukunft tun zu können? Eine öffentliche Set- und Unset-Methode? –