I am trying to add some data to an array but I am getting not extensible error.
Component code:
this._store.select(p => p.collection.workspaceCollectionPages).subscribe((data: CollectionPageDbModel[]) =>{
if(data){
return data.map((collectionPageDbModel)=> {
this.collectionPages.push(collectionPageDbModel) //Getting error on this line while pushing
});}
I have four objects in my data var, which I am trying to push in collectionPages, but I am getting extensible error while pushing.
collectionPage array where i need to add more data
CollectionPageDbModel:
export class CollectionPageDbModel implements IDbModel {
public id?: number;
public collection_version_id: number;
public user_id?: string;
public name: string;
public position?: number = 0;
public contents: string;
public created_at?: string;
public updated_at?: string;
public server_id?: any;
}
Can someone please help me out resolving this
Make a copy of object using the Object.assign method and try again,
this.collectionPages = Object.assign([], this.collectionPages);
this.collectionPages.push(collectionPageDbModel);
ES6 simplified code would be,
this.collectionPages = [...this.collectionPages, collectionPageDbModel]