官方文档: https://developers.weixin.qq.com/miniprogram/dev/extended/weui/search.html
onLoad 里面这句 this.search.bind(this) 是什么含义和作用呢? bind 是个啥鬼? 谢谢
Page({
data: {
inputShowed: false,
inputVal: ""
},
onLoad() {
this.setData({
search: this.search.bind(this)
})
},
search: function (value) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve([{ text: '搜索结果', value: 1 }, { text: '搜索结果2', value: 2 }])
}, 200)
})
},
selectResult: function (e) {
console.log('select result', e.detail)
},
.bind(this) 后,函数内就可以和函数外一样使用 this了。好像是这样。
这块仅是设置页面的data
js的bind能理解, es6这个有点费劲,试过下面这两种写法
onLoad() {
this.setData({
search: this.search.bind(),
})
},
或者
onLoad() {
this.setData({
search: this.search,
})
},
测试结果都可以正常调用searchbar组件,所以挺费解这个bind(this)意义是啥?
selectResult: function (e) {
console.log('select result', e.detail)
},
{
"usingComponents": {
"mp-searchbar": "../components/searchbar/searchbar"
},
"navigationBarTitleText": "UI组件库"
}