WeUI组件库SearchBar组件调用时this.search.bind(this)的含义和作用?

发布于 7 年前作者 guiyingxu3760 次浏览最后编辑 7 年前来自 issues

官方文档: 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)

  },

3 回复
tqiao
tqiao1 楼6 年前

这块仅是设置页面的data

xia44
xia442 楼6 年前

js的bind能理解, es6这个有点费劲,试过下面这两种写法

  onLoad() {

    this.setData({

      search: this.search.bind(),

          })

  },

或者

  onLoad() {

    this.setData({

      search: this.search,

          })

  },

测试结果都可以正常调用searchbar组件,所以挺费解这个bind(this)意义是啥?

juandai
juandai3 楼5 年前

百度一下 es6 bind