收藏
回答

两个值都来自请求结果,修改其中一个,最终setData到页面时,两个却相等

问题模块
开发者工具

Page,onload中请求成功获取值后,返回值:data.payload.bookInfo.pages


代码

pagesTMP = data.payload.bookInfo.pages;

pagesData = data.payload.bookInfo.pages;

if (pagesTMP) {

    if (pagesTMP.length > 5) {

        pagesTMP.forEach(function (val, index) {

            if (index >= pagesLimit) {

                pagesTMP[index].imgUrl = '';

            }

        });

        that.setData({

            bookInfo: data.payload.bookInfo,

            pages: pagesTMP

        });

    } else {

        that.setData({

            bookInfo: data.payload.bookInfo,

            pages: pagesTMP

        });

    }

}

console.log(that.data.pages);

console.log(pagesData);


这里只修改了pagesTMP中的imgUrl,但是最终输出 pagesData 与 pagesTMP数值一样。

最后一次编辑于  2017-09-06  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

2 个回答

  • ChocKing
    ChocKing
    2017-09-06

    大兄弟 引用的是同一个对象吧。。

    2017-09-06
    赞同
    回复
  • 不明
    不明
    2017-09-06

    是,我是想,他是引用,还是赋值,给值有单独的空间。相互不影响。这样引用,修改一个,直接修改到原值,我也很尴尬。啊啊啊啊

    2017-09-06
    赞同
    回复