uni-app中遇见的坑,使用v-for循环数组,绑定方法传值,将数组中的item用事件传值不成功,看如何解决

第一:先来看看这样写能不能实现效果,但是打印出来,竟然是未定义(undefined)

代码如下:

 <view class="workitems">
          <view class="oneitem" v-for="item in busiList" :key="item.id">
            <view class="miniitem">
              <businesstitle :module="item" @gotoDetail="gotoDetail()">
              </businesstitle>
              <worksubscribe :minimodule="miniitem" @click="gotoOder()" v-for="miniitem in item.workList"
                :key="miniitem.id"> </worksubscribe>
              <view class="morework" @click="checkmore(item)" :model="item" v-if="item.otherWorkNum>0">
                <text class="worknum">查看其他{{item.otherWorkNum}}个工作岗位</text>
                <u-icon name="arrow-right" size='22rpx'></u-icon>
              </view>
            </view>

          </view>
  </view>

解释一下:其中<businesstitle></businesstitle>和<worksubscribe></worksubscribe>是自己写的组件引用的组件,主要是看这个方法@click="checkmore(item)"这个方法,其中的item能否传下去

Js代码如下

    methods: {
     
      checkMore(item) {
        console.log(item)
        }
      }

控制台打印出来

 证明这样写的方法,传值不成功,我们使用另外一种方式
第二:以下代码为实现方法,将事件写成这种方式 @click="()=>checkMore(item)" ,再在控制台打印以下:

 <view class="item" v-for="item in busiList" :key="item.id">
          <view class="miniitem">
              <businesstitle :module="item" @gotoDetail="gotoDetail()">
              </businesstitle>
              <worksubscribe :minimodule="miniitem" @click="gotoOder()" v-for="miniitem in item.workList"
                :key="miniitem.id"> </worksubscribe>
              <view class="morework" @click="()=>checkMore(item)" :model="item" v-if="item.otherWorkNum>0">
                <text class="worknum">查看其他{{item.otherWorkNum}}个工作岗位</text>
                <u-icon name="arrow-right" size='22rpx'></u-icon>
              </view>
          </view>
   </view>

控制台打印:

 

 这里就可以拿到item的东西了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值