hhtml代码
<button><navigator url="../home/index">跳转</navigator></button>
<button bindtap="f">++</button>
js代码
Page({
data:{x:1},
onShow: function () {
this.f()
},
f() {
let {x} = this.data
console.log(x);
x++
this.setData({x})
},
})
每次调用f函数应该会让x自增1
t通过按钮++调用f函数确实能够实现x自增
但是在onShow生命周期函数中调用,却发现每次输出的x始终都是1,但事实上通过查看AppData中可以知道x的值为2
问题已经找到了,<button><navigator url="../home/index">跳转</navigator></button> 在使用navigator返回时,需要设置open-type="navigateBack"。不然每次都会生成一个新的页面 所以这不是官方的bug,是我的bug
你把console.log(x), 放在x++后边onShow()不就输出2了么?