2016-06-07 10 views
0

Ich habe eine sich ändernde Eigenschaft.eine Eigenschaft, die eine andere Eigenschaft beobachtet?

Anschließend erstellt eine andere Eigenschaft in das Markup, um basierend auf einer Eigenschaft von Model deaktiviert zu deaktivieren.

@property bool get isDeleted => selected.deleted; 

aber es scheint, dass isDeleted doesnt Änderung des Markup.

<my-element disabled$="{{isDeleted}}"></my-element> 

Ich überprüfte mit beiden Werten so deaktiviert funktioniert wie beabsichtigt aber isDeleted aktualisiert nicht ich denke.

aber sagen, dass ich kann hinzufügen, einen Beobachter zu isDeleted ausgewählt zu beobachten, oder brauche ich statt Stenografie

@Property(observer:"selected") bool get isDeleted => ! selected.deleted; 

eine Funktion und tun eine berechnete Eigenschaft erstellen oder soll ich tun, so etwas wie:

@Property(computed:"toggle(selected)") bool isDeleted; 

@reflectable bool toggle(Model m) => !m.deleted; 

habe ich versucht, auf der Grundlage einer Eigenschaft berechnet zu tun, aber es braucht eine Funktion, kippe ich also eine Abkürzung verwenden.

Antwort

1

Was ich endedup tun war:

@property Model selected; 
@property bool isDeleted 

@Observe("selected") 
toggle(selected){ 
    set("isDeleted", !selected.deleted); 
}