Fig
Fig

Reputation: 295

Angular Update value in localStorage

The problem I'm having, I can't add/change a given item inside a JSON object. I tried to convert it to use a simple put but that doesn't work since: Property "put" does not exist in type of "JSON"

Key: 123 Value:{"name":"123","email":"123","password":"123","country":"123","about":"123","image":""}    

My method to change the country value.

newJson:JSON;
onSubmit(value:any){

            this.newJson = JSON.parse(localStorage.getItem(this.id));
            this.newJson.put("country", value.country);
            localStorage.setItem(JSON.stringify(this.newJson));
    }

The value I get from the parameter (the submitted value)

{"country":"Portugal"}

Upvotes: 1

Views: 5824

Answers (1)

Chandru
Chandru

Reputation: 11184

Try like this :

export class Component {
    private jsonObj: any = {};
    private key: string = "123";

    constructor(){
        this.jsonObj = {
            "name": "123",
            "email": "123",
            "password": "123",
            "country": "123",
            "about": "123",
            "image": ""
        }
        localStorage.setItem(this.key, JSON.stringify(this.jsonObj));
    }

    ngOnInit() {
        let localStorageJsonData = JSON.parse(localStorage.getItem(this.key));
        localStorageJsonData.country = "france";
        localStorage.setItem("obj", JSON.stringify(localStorageJsonData));
        console.log('localStorageJsonData', localStorageJsonData);
    }
}

Upvotes: 2

Related Questions