#笔记#微信小程序的bindtap如何传参

今天在做一个微信小程序demo的时候发现bindtap并不能直接在函数上进行传参,一开始并不知道怎么解决,因此记录一下以免以后忘记
因为项目的需要,我需要将一个数组中的某个值传给另外一个列表,以方便在其他地方使用,但是按照定向思维进行传参发现会报错

<view bindtap="clickme({
      {item.word}})">{
    {item.word}}view>

#笔记#微信小程序的bindtap如何传参_第1张图片
当点击abandon1时,并不能实现传递该值的效果
#笔记#微信小程序的bindtap如何传参_第2张图片
提示信息为:

does not have a method "clickme(abandon1)" to handle event "tap".

这是因为bindtap在传参时需要用到data-xxx来进行传递参数,正确的形式应当为:

<view bindtap="clickme" data-word="{
      {item}}">{
    {item.word}}view>


clickme: function (e) {
    console.log(e)
  },

这时当再一次点击abandon1时就会将该值传递过去
#笔记#微信小程序的bindtap如何传参_第3张图片
因此当需要将传递过来的值赋给新的列表时只需要将currentTarget中的dataset取出来就可以了。如下

clickme: function (e) {
     
    console.log("没赋值前:",this.data.testData2)
    this.setData({
     
      testData2:e.currentTarget.dataset.word
    })
    console.log("赋值后:",this.data.testData2)

  },

#笔记#微信小程序的bindtap如何传参_第4张图片

你可能感兴趣的:(个人笔记,小程序,javascript)