收藏
回答

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

官方文档: 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 个回答

  • w .
    w .
    2020-04-28

    .bind(this) 后,函数内就可以和函数外一样使用 this了。好像是这样。

    2020-04-28
    有用 1
    回复
  • 铭锋科技
    铭锋科技
    2020-02-17

    这块仅是设置页面的data

    2020-02-17
    有用
    回复
  • 2020-02-15

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

      onLoad() {

        this.setData({

          search: this.search.bind(),

              })

      },

    或者

      onLoad() {

        this.setData({

          search: this.search,

              })

      },

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

    2020-02-15
    有用
    回复 3
    • 张
      2020-04-11
      请教楼主:最后面这个代码,我想加上一句,把已经查询出的结果隐藏,应该怎么加
      2020-04-11
      回复
    • 2020-04-12回复
      在组件的页面上改: ../components/searchbar/searchbar
      2020-04-12
      回复
    • 张
      2020-04-12
      改好了,一直以为组件里面都是写好的不需要改拿过来用就行
      2020-04-12
      回复
登录 后发表内容
问题标签