关于setData对象或者数组的问题
发布于 5 年前 作者 yang54 6210 次浏览 来自 问答

如果data中有对象或者数组,该如何setData?

比如:

Page({

    data: {

        m_obj: {‘a’: {‘num’: 0}, …},

    }

    click: function() {

        let obj = this.data.m_obj;   // A

/***modify obj***/               // B

        this.setData({

             m_obj: obj,                   // C

        });

    }

})

我想整体替换obj变量,上述代码是否有问题? 官方文档中说不能直接操作data中的变量,否则会造成数据不一致,那么上述代码中的A和B是否就会造成代码不一致?如果是的话,我该如何修改整个对象呢(整体替换而不是对每个属性set一次)?

2 回复

给 this.data赋值之后,立即有setData是不会有问题的

官方说的应该是不直接修改 this.data,用setData应该没啥问题吧

回到顶部