für meine Polymer-Anwendung Ich brauche eine Observable in zwei verschiedenen Geschmacksrichtungen, zum Beispiel als Integer-Wert und String-Wert. Ich verwende Getter und Setter, um den Zustand und die interne Repräsentation einzukapseln. Indem ich dies tue, muss ich notifyPropertyChange für jede beobachtbare in jedem setter implementieren, die zu viel errorprone Klempnerarbeitcode führt. Zum Beispiel Ich brauche zwei Mal notifyPropertyChange -Aussagen für zwei Aromen, wenn ich 4 Aromen verwenden müssen, muss ich verwenden 4 * 4 = 16 notifyPropertyChange -Aussagen. Ich habe den Klick-Gegenbeispiel modifiziert dies zu verdeutlichen:Dart: Observable mit mehreren Getter/Setter
@CustomTag('click-counter')
class ClickCounter extends PolymerElement {
int _count;
@observable int get count => _count;
@observable set count(int val) {
notifyPropertyChange(#count,_count,val);
_count = notifyPropertyChange(#strcount,_count,val);}
@observable String get strcount {
print("TOSTRING "+_count.toString());
return _count.toString();}
@observable set strcount(String val) {
notifyPropertyChange(#strcount,_count,int.parse(val));
_count = notifyPropertyChange(#count,_count,int.parse(val));}
ClickCounter.created() : super.created() {
}
void increment() {
count++;
}
}
Gibt es einen besseren Weg, dies -Aussagen ohne so viel notifyPropertyChange zu implementieren?
Grüße
Markus
Ihnen sehr danken. Das funktioniert! Also habe ich nur eine notifyPropertyChange pro beobachtbares Symbol. – user3338276