首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将值放入对象中,并以最佳方式获取旧值

将值放入对象中,并以最佳方式获取旧值
EN

Stack Overflow用户
提问于 2019-11-18 17:51:31
回答 1查看 71关注 0票数 0

大家早上好,

在这里,我有两个小问题,我认为我的代码没有优化,我希望你的一些帮助,因为我尝试了更多的解决方案,但它不工作。

我使用v-model修改我的对象,但是不能保存修改,所以我将在我的数据库中搜索axios对象,然后给他初始值。我的对象来自起始组件的父组件,在父组件中我做了一个v-for

代码语言:javascript
复制
    <span v-if="number.edit">
        <i class="fas fa-window-close text-danger" @click="onClickClose"></i>
    </span>

    onClickClose(){
        axios.get('number/'+this.number.ref)
            .then(({data: data}) => {
                console.log(data);
                this.number.status = data[0].status;
                this.number.number = data[0].number;
                this.number.route = data[0].route;
                this.number.uri = data[0].uri;
                this.number.refcli = data[0].refcli;
                this.number.refcarrier = data[0].refcarrier;
                this.number.porting_date = data[0].porting_date;
                this.number.portout_date = data[0].portout_date;
                this.number.emergency_active = data[0].emergency_active;
                this.number.emergency_zipcode = data[0].emergency_zipcode;
                this.number.memo = data[0].memo;
                this.number.carrier = data[1];
                this.number.edit = null;
            });
    },

除了在axios上这样做之外,还有其他方法吗?一个即使在修改后也存储基本值的地方(VueX?)然后从我的对象中手动执行除每个字段之外的其他操作。我想要这样的东西。

代码语言:javascript
复制
axios.get('number/'+this.number.ref)
                .then(({data: data}) => {
                    console.log(data);
                    this.number ={
                        status : data[0].status,
                        number : data[0].number,
                        route : data[0].route,
                        uri : data[0].uri,
                        refcli : data[0].refcli,
                        refcarrier : data[0].refcarrier,
                        porting_date : data[0].porting_date,
                        portout_date : data[0].portout_date,
                        emergency_active : data[0].emergency_active,
                        emergency_zipcode : data[0].emergency_zipcode,
                        memo : data[0].memo,
                        carrier : data[1],
                        edit : null,
                    }
                });

谢谢你的帮助,如果我表达得不好,请原谅。让我知道,我会解释得更好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-18 18:32:07

尝试将您的代码缩短为以下内容(主要是es6):

代码语言:javascript
复制
   .then(({ data: {0: firstElData}, {1: secondElData }) => { 
     const { status, number, route, uri, refcli, refcarrier, porting_date, 
      portout_date, emergency_active, emergency_zipcodem memo } = firstElData
      this.number = { status, number, route, uri, refcli, refcarrier, 
      porting_date, portout_date, emergency_active, emergency_zipcodem memo }
      this.number.carrier = secondElData
      this.number.edit = null;

尽管我不能100%确定你在问什么。

当然,如果您所需要的只是存储原始值,那么当它们进入originalData时,将它们放在一个变量中,然后您就可以访问它,而不需要为此存储。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58911853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档