WeUI组件库SearchBar组件调用时this.search.bind(this)的含义和作用?
发布于 6 年前 作者 guiyingxu 3602 次浏览 来自 官方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 回复

这块仅是设置页面的data

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

  onLoad() {

    this.setData({

      search: this.search.bind(),

          })

  },

或者

  onLoad() {

    this.setData({

      search: this.search,

          })

  },

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

百度一下 es6 bind

回到顶部