两个值都来自请求结果,修改其中一个,最终setData到页面时,两个却相等
发布于 6 年前 作者 lsong 4519 次浏览 来自 问答

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数值一样。

2 回复

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

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

回到顶部