onGetUserInfo: function (e) { if (! this .logged && e.detail.userInfo) { this .setData({ logged: true , avatarUrl: e.detail.userInfo.avatarUrl, userInfo: e.detail.userInfo }) } }, |
< button open-type = "getUserInfo" bindgetuserinfo = "onGetUserInfo" class = "userinfo-avatar" style = "background-image: url({{avatarUrl}})" ></ button > |
上面是小程序的演示代码, 问题1:上面这个函数onGetUserInfo有请求获取用户信息吗?我没看懂哪里去请求了。 问题2:函数中的e.detail.xxx这个e.detail是什么意思啊 没看懂 跪求大神指点。。。
<button class="meBtn" open-type="getUserInfo" bindgetuserinfo="onGetUserInfo"style="background-image: url({{avatarUrl}})"size="default"></button>
detail是open-type对象
event的意思
是指事件本身这个对象 ,是传递参数的方式。
比如一个input 的输入值传入到函数用到e.detail.value
wxml端
<input bindblur="setInputValue"></input>
js
setInputValue: function (e) {
let inputName=e.target.id
this.setData({
[inputName]:e.detail.value,
})
console.log(e)
}
打印以下e 就会发现是一个对象 它包含了这个事件所的 响应组件的ID、value("你输入的文本")、字节数cursor、时间戳timeStamp、组件的坐标offsetleft和offsettop 等等还有一些属性我也没搞明白,请大神给指导一下。
这个是微信自己内部的请求,你看不见。e就是这个请求的返回值咯。
突然明白了,谢谢!
我也不理解e到底是什么意思?
请问,detail是e参数的什么?不太理解