javascript - 小程序setData
怪我咯
怪我咯 2017-04-11 11:57:45
[JavaScript讨论组]
data: {
    channelList: [{
        channelName: "aaa",
        channelId: "0",
        resList: [{
            title: 'aaa_111',
            imgUrl: 'http://...',
            des: 'blabla...'
        },{
            title: 'aaa_222',
            imgUrl: 'http://...',
            des: 'blabla...'
        },...]
    }, {
        channelName: "bbb",
        channelId: "12345",
        resList: [{
            title: 'bbb_111',
            imgUrl: 'http://...',
            des: 'blabla...'
        },{
            title: 'bbb_222',
            imgUrl: 'http://...',
            des: 'blabla...'
        },...]
    }, {
        channelName: "ccc",
        channelId: "4567",
        resList: []
    },...]
}

类似这种结构的Data,想给channelId:12345的resList增加数据,现在做法是:

var channelList = this.data.channelList;
for (let i = 0; i < channelList.length; i++) {
    if (channelList[i].channelId == '12345') {
        channelList[i].resList.concat(arr)
    }
}
this.setData({
    channelList:channelList
})

问题是:
1.感觉写的复杂了,有没有简便的方法?
2.channelList的数据比较多,仅仅因为修改某一个部分,就通过setData更新了整个channelList数据,会不会明显影响性能?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
高洛峰

channelList是引用类型变量,并不需要执行this.setData

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号