tengo un objeto
const app ={ el: "#app", data: { some: "test" } } Cada vez que quiero agregar algo a los datos, ya sea app.data.some = "changed" o app.data.other = "new" , quiero que suceda algo.
Uso de un Proxy . Tengo la sensación de que la respuesta está en algún lugar aquí:
const data ={ el: "#app", data: { some: "test" } } var app = new Proxy(data, { get: function (target, prop) { console.log(prop); // just shows data return Reflect.get(target, prop); }, set: function (target, prop, value) { // this never runs console.log({ type: "set", target, prop, value }); return Reflect.set(target, prop, value); }, }); app.data.another = "test"; app.data.somethingY lo siguiente es solo para decir que lo sé, pero no parece ser lo que quiero , ya que no hay forma de agregar nuevas propiedades . Estoy tratando de obtener este efecto donde la propiedad es desconocida.
const app = { el: "#app", data: { _another: "testing", get another() { console.log("get something"); return this._something; }, set another(value) { console.log("set something", value); this._something = value; } }, }; app.data.another = "test"; app.data.another