如何将新对象更新到本地存储

时间:2017-09-15 10:06:04

标签: angular ionic2

嗨我有一个本地存储,我会在按钮点击时更新它,我正在更新它但我正在添加新的数组,我只需要新的对象来添加

   logForm(form) {
        this.hideFooter = true;
        var EnteredName = form.value.name;
        var EnteredNumber = form.value.number;

       this.enteredContact.push({
            name: form.value.name,
            service: form.value.service,
            number:form.value.number
        })

        this.nativeStorage.getItem('contact') .then(
            data => {
            console.log(data)
            var empty = []
            empty.push(data);
            empty.push(this.enteredContact)
            console.log("entered date", this.enteredContact)
            this.nativeStorage.setItem('contact', this.enteredContact);
             this.nativeStorage.getItem('contact').then(
                    data =>{
                            this.ViewContacts = data;
                    })

        },
            error =>{
                 console.error(error.code);
                 if (error.code === 2) {
                     this.nativeStorage.setItem('contact', this.enteredContact);
                     this.nativeStorage.getItem('contact').then(
                        data =>{
                                this.ViewContacts = data;
                                this.disableReset = false
                                console.log("contact", data)
                            }
                     )
                 } else {

                 }
            }

        );
    }

我是这样的: enter image description here

我需要像这样的纯粹物品

enter image description here

我正在创建一个类似于电话簿的东西,我会得到名字,号码,职业,我需要存储它然后显示存储列表。

这个更新的代码会发生什么,我可以存储数据,但当我移回页面时,如果我再来一次,存储将变为0

1 个答案:

答案 0 :(得分:0)

尝试以下内容:

        data => {
            let dataArray = data;
            dataArray.unshift(form.value); //this will add at the start
            if dataArray.length>2{
                  dataArray.pop(); // this will remove the last one
            }
            this.nativeStorage.setItem('contact', data);
        },...

这样做的目的是确保您始终将第二个元素作为上一个联系人,将第一个元素作为最新的联系人。