本周六遇到一个小程序BUG,请查看!


现象:本地变量遭不明原因篡改。

微信开发者工具版本:1.02 1803210

IOS: 11.3


描述如下:

现有两个页面test01、test02。


test01视图层代码如下:


<view catchtap="turntodtls">

<view>{{A.code}}</view>

<view>{{A.data}}</view>

</view>


test01逻辑层代码如下:


const app = getApp()


Page({

data: {

A: null

},


turntodtls: function (e) {

app.globalData.D = this.data.A

console.log(this.data.A)

wx.navigateTo({

url: '../test02/test02'

})

},

onLoad: function (options) {

this.setData ({

A: { code: "0", data: "sinopec" }

})

},

})


test02视图层代码如下:


<view>


<view>

<input value="{{B.code}}" bindblur="getvalue" id="code"></input>

</view>


<view>

<input value="{{B.data}}" bindblur="getvalue" id="data"></input>

</view>


</view>


test02逻辑层代码如下:


var C = {}

const app = getApp()


Page({

data: {

B: null

},


getvalue: function (e) {

if (e.detail.value != "") {

C[e.currentTarget.id] = e.detail.value

}

},


onLoad: function () {

C = {}

C = app.globalData.D

this.setData ({

B: C

})

},

})


两个页面拟通过全局变量D传递值。

App({

globalData: {

D: null,

},


首先点击test01,页面将以navigateTo方式转至test02,此时继续点击并修改test02中input的值(例如将“sinopec”改为“sino”),并失去焦点(目的是触发绑定函数getvalue),其后点击小程序左上角返回test01页面,并再次进入test02页面,发现页面显示“sino”(原本显示sinopec),打印test01页面中本地变量A后发现其值遭到篡改,如下如所示,原因不明。





微信开发者工具和小程序真机调试均有此现象










展开全部
收起
7回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 和畅

    18人对此回答表示赞同

    代码片段如下,供您参考!@Special

    展开
    18
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Eva

    17人对此回答表示赞同

    懂了,真实尴尬

    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Eva

    13人对此回答表示赞同

    现在人都喜欢abc来命名么

    展开
    13
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Eren Lau

    7人对此回答表示赞同

    没人知道吗

    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 自作自受没人管

    7人对此回答表示赞同

    不然用什么举栗

    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Emma王

    3人对此回答表示赞同


    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Gabriella

    1人对此回答表示赞同

    麻烦给个相关的代码片段,我们定位下问题

    展开
    1
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部