Ich habe Klasse mit @observable
(alle Beispiele Typoskript/Pseudo-Code sind)einzelne MobX Autorun oder Reaktion für beobachtbare Eigenschaft aller Objekte in dem Feld Make
class Page {
id: number = 0;
@observable
isVisible: boolean = false;
}
let array = [new Page(), new Page(), new Page()];
Und einige Funktionen wie:
changeVisibility(obj)
{
//ajax call like .post("/api/changeVisibility/", {id:obj.id, isVisible:obj.isVisible})
}
Und Ich möchte auf isVisible
Änderung an jedem Objekt reagieren.
Ich kann Array aufzählen und machen so etwas wie:
array.forEach(el => {
reaction(
() => el.isVisible,
isVis => changeVisibility(el);
});
});
Aber kann ich das mit einer Funktion?
Art von "Array-Beobachter, der auf die Eigenschaftsänderung des Elements reagiert".
Etwas wie folgt aus:
reaction(array, //source
(el) => el.isVisible, //observable to react
(el) => changeVisibility(el) //callback with object
)