javascript - 微信小程序 this.setData 怎么修改json里面的值
迷茫
迷茫 2017-04-11 10:22:32
[JavaScript讨论组]

微信小程序 this.setData 怎么修改json里面的值

data: {

    prompt: {
        promptMess: false,
        promptButton: true,
        promptTitle: '确认交易完成',
        promptDec: '确认交易完成后,订单不可退货',
    }
}
使用  
this.setData({
   prompt.promptMess: true
})
报错
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
PHPz

谢谢大家的回答骂这个问题,我解决了.

    this.setData({
        'prompt.promptMess': false
    })
    用这个就可以解决了 
伊谢尔伦

仔细看文档,要加引号

this.setData({
   'prompt.promptMess': true
})

另外如果有 @i炮兵 说的 this 问题,建议直接使用 es 6 的箭头函数,参考:
https://segmentfault.com/a/11...

迷茫

你具体代码是?
有可能是遇到this,that的坑了,具体的要看你

this.setData({
   prompt.promptMess: true
})

是在什么地方用的,这个地方的this还是不是你理解的this,一般的做法是先var that=this;
然后再用

that.setData({
   prompt.promptMess: true
})

补充,刚看了mjw的答案想起来了,好像我也是像他那样操作的,当时没有太深究,下面是我以前自己写demo的时候的代码片段

PHPz
var newPrompt = this.data.prompt
newPrompt.promptMess = true
this.setData({prompt: newPrompt})

这是直白的写法了

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

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