我有一个不断变化的财产。
@property Model selected;
之后,创建另一个属性以放入标记,根据Model的属性禁用切换。
@property bool get isDeleted => selected.deleted;
但似乎isDeleted
在标记中没有变化。
<my-element disabled$="{{isDeleted}}"></my-element>
我检查了两个值,因此禁用按预期工作,但isDeleted不会更新我在想。
话虽这么说,我可以添加一个观察者到isDeleted来观察选中,或者我需要创建一个函数并做一个计算属性而不是简写
@Property(observer:"selected") bool get isDeleted => ! selected.deleted;
或者我应该做类似的事情:
@Property(computed:"toggle(selected)") bool isDeleted;
@reflectable bool toggle(Model m) => !m.deleted;
我尝试根据属性进行计算,但它需要一个函数,因此,我不能使用速记。
答案 0 :(得分:1)
我最终做的是:
@property Model selected;
@property bool isDeleted
@Observe("selected")
toggle(selected){
set("isDeleted", !selected.deleted);
}