你想反馈一个 Bug 还是 提一个需求?
反馈一个Bug
如果是 Bug:
* Bug 表现是什么?预期表现是什么?
Bug中,在一个this.setData()内反复设置变量,提取变量出现问题。需要连续运行三次函数才能解决这个问题。
预期运行一次函数就能得到
* 如何复现?
运行函数
* 提供一个最简复现 Demo
//js页面
// pages/index-jisuan-DianDaoZhiXian/index-jisuan-DianDaoZhiXian.js
Page({
/**
* 页面的初始数据
*/
data: {
x1: “”,
y1: “”,
x2: “”,
y2: “”,
x3: “”,
y3: “”,
chuiju: “”,//垂距结果变量
x4: “”,//结果x
y4: “”,//结果y
A: “”,//中间变量
B: “”,//中间变量
C: “”,//中间变量
},
/*以下为输入代码*/
zhiAXfun: function (e) {
this.setData({
x1: e.detail.value
})
},
zhiAYfun: function (e) {
this.setData({
y1: e.detail.value
})
},
zhiBXfun: function (e) {
this.setData({
x2: e.detail.value
})
},
zhiBYfun: function (e) {
this.setData({
y2: e.detail.value
})
},
Xfun: function (e) {
this.setData({
x3: e.detail.value
})
},
Yfun: function (e) {
this.setData({
y3: e.detail.value
})
},
/*以上为输入代码*/
jisuan: function (e) {
this.setData({
A: this.data.y2 - this.data.y1,
B: this.data.x1 - this.data.x2,
C: this.data.x2 * this.data.y1 - this.data.x1 * this.data.y2,
chuiju: ((this.data.A * this.data.x3 + this.data.B * this.data.y3 + this.data.C) / (Math.sqrt(this.data.A * this.data.A + this.data.B * this.data.B))).toFixed(3),
x4: ((this.data.B * this.data.B * this.data.x3 - this.data.A * this.data.B * this.data.y3 - this.data.A * this.data.C) / (this.data.A * this.data.A + this.data.B * this.data.B)).toFixed(3),
y4: ((-this.data.A * this.data.B * this.data.x3 + this.data.A * this.data.A * this.data.y3 - this.data.B * this.data.C) / (this.data.A * this.data.A + this.data.B * this.data.B)).toFixed(3),
jieguo: “垂距:” + this.data.chuiju + “垂点x:” + this.data.x4 + “垂点y:” + this.data.y4
})
},
/**
* 生命周期函数–监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数–监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数–监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数–监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数–监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数–监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
//html页面
<!–pages/index-jisuan-DianDaoZhiXian/index-jisuan-DianDaoZhiXian.wxml–>
<view class=“body”>
<form class=“biao”>
<view>直线内A点</view>
<input type=‘text’ bindinput=‘zhiAXfun’ placeholder=‘x坐标’></input>
<input type=‘text’ bindinput=‘zhiAYfun’ placeholder=‘y坐标’></input>
<view>直线内B点</view>
<input type=‘text’ bindinput=‘zhiBXfun’ placeholder=‘x坐标’></input>
<input type=‘text’ bindinput=‘zhiBYfun’ placeholder=‘y坐标’></input>
<view>直线外的点</view>
<input type=‘text’ bindinput=‘Xfun’ placeholder=‘x坐标’></input>
<input type=‘text’ bindinput=‘Yfun’ placeholder=‘y坐标’></input>
<button bindtap=‘jisuan’>计算</button>
<text>{{jieguo}}</text>
</form>
</view>
需要连续按按钮<button>计算</button>3次,才能得出正确答案。