Tengo una clase que copia objetos y se ve así:
Class CoppyComponent { constructor(element) { return Object.assgin(Object.create(Object.getPrototypeOf(element)), element); } }
Tengo otra clase para crear elementos HTML que usan una matriz para realizar un seguimiento de los elementos HTML creados.
Class Component { constructor(){ this.arr = []; } }
Yo uso las clases de esta manera:
const hi = new Component(); hi.CreateEl({ type: "h1", text: "Hello", parrent: ".a" }); hi.CreateEl({ type: "h2", text: "Hello", parrent: ".a" }); hi.CreateEl({ type: "h3", text: "Hello", parrent: ".a" }); hi.CreateEl({ type: "h4", text: "Hello", parrent: ".a" }); hi.CreateEl({ type: "h6", text: "Hello", parrent: ".a" }); const h1Copy = new CoppyComponent(hi); `h1Copy.load(".b");`
createEl metid simplemente crea un nuevo elemento HTML
el método de carga simplemente modifica el elemento principal Los elementos HTML entran en div con clase b solo en lugar de ambos divs (a, b)
Console.log ambos objetos (hola, h1Copy) y son idénticos. Lo que creo que es el problema, pero no estoy seguro, es que ambos objetos comparten la misma matriz.