我可以在商店中保存一个对象并通过克隆和替换该对象来对其进行变异,例如:
$store = someObject; // Notifies subscribers if someObject was not already the value of the store
someObject.property = newValue;
$store = {...someObject}; // Notifies subscribers because we're assigning a new object
但是,这不适用于类的实例,因为原型(方法)没有被复制。商店以对象而不是类的实例结束。
我正在寻找一种在突变后触发通知的方法,例如:
$store = someClassInstance;
someClassInstance.mutateSomeProperties();
store.forceUpdate();
我的实验调用store.set()
并store.update()
未能通知订阅者更改,大概是因为(如文档中所述)这仅在设置的值更改时发生。虽然我对这个似乎与此相矛盾的PR感到困惑,但给了我一些希望,有一种方法可以实现这一目标。