====== 7.小程序调试 ======
===== -#1 console.log(e) =====
写小程序时可以利用console.log(e)来查看传值情况并使用,然后就可以在调试器中看到传值情况。[[https://blog.csdn.net/sinat_33348723/article/details/79682775|小程序砖块(二)利用console.log(e)查看和使用事件传值]]
xxx:function(e){
console.log(e);
}//在调试器中看到传值情况
例子:在index.js的事件处理函数
getUserInfo: function(e) {
console.log(e)
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
{{ :mina:console1.png |}}
此时我们更改上面的事件处理函数
getUserInfo: function(e) {
// console.log(e)
console.log(e.currentTarget.offsetTop) //打印出数据
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
编译后调试器出现了
{{ :mina:console2.png |}}
e.currentTarget.offsetTop 这正是我们上面看到的offsetTop的值
总结:
- function(e)传值
- console.log(e)查看事件传的值有哪些
- e.aaa调用值
:?: console.log("data:"+ data) 与 console.log(data) \\
console.log("data:"+ data) 输出 data:[object Object] 不带解析
console.log(data) 输出 {retCode: 0, retMsg: "SUCCESS", data: null} 带解析
:?: 微信小程序console打印数据问题
微信小程序中如果res.data数据是一个json格式数据。
console.log(res.data) ()中不拼接其他字符串直接打印的话,可以打印数据
如果()中拼接了字符串console.log("===data===" + res.data)??
这样打印出了是只会打印一个对象名称,不会打印数据。
解决方法:console.log("===data===" + JSON.stringify(res.data));
===== -#2 单步调试 =====
==== - 断点 ====
打断点 : 在想要它停下来的地方打上调试断点。[[https://blog.csdn.net/bright789/article/details/54709594?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9|微信小程序里面的单步调试和变量查看]] \\
* 事件必须发生才可以在调试的时候断点,如果设置断点的地方没有点击事件,就不会暂停。
* 一般是打那种.js后面带[sm],如index.js[sm],非index.js
{{ :mina:断点.png |}}