收藏
回答

帮我修改下代码 可以吗?

如代码所示,我激励广告过后怎么不能触发viewitem函数事件?要怎么改才能成功带id跳转?

var videoAd = null;


Page({
  data: {
    list:[] ,  //初始化list空数组,存储获取的列表数据
   
  },


 
  viewitem: function(event) {
    console.log(event)
  
    var id = event.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../detail2/detail2?id='+id,
    })
 
  },




  //生命周期函数--监听页面加载
  onLoad: function () {
    if (wx.createRewardedVideoAd) {
      // 加载激励视频广告
      videoAd = wx.createRewardedVideoAd({
        adUnitId: 'adunit-45ed5820f3ca2898'
      })
      //捕捉错误
      videoAd.onError(err => {
      // 进行适当的提示
      })
      // 监听关闭
      videoAd.onClose((status) => {
        if (status && status.isEnded || status === undefined) {
        
          wx.showToast({
            title: '前往下载页',
          })
          
      this.viewitem
     
        




          // 正常播放结束,下发奖励
          
        }


    


        
        else {
          // 播放中途退出,进行提示
        }
      })
    }




    this.getList()  //页面加载的时候 page = 0
  },


  //获取列表数据
  getList(){
    //数据加载中的友好提示
    wx.showLoading({
      title: '不要心急嘛~',
    })    
    console.log("当前list的长度:",this.data.list.length);
    let len = this.data.list.length           //当前list的长度赋值给变量len
    wx.cloud.database().collection("game").orderBy('_createTime','desc')
    .skip(len)    //skip跳过len长度
    .get()
    .then(res=>{
      //数据加载成功,隐藏加载提示
      wx.hideLoading()
      console.log("查询成功",res);
      //数据加载完成的友好提示
      let dataList = res.data
      if(dataList.length<=0){
        wx.showToast({
          title: '小编正在努力更新',
          icon:"none"
        })
      }
      this.setData({
        //保留前面加载过的数据,使用concat连接
        list:this.data.list.concat(res.data)
      })
    })
    .catch(err=>{
      //数据加载失败,隐藏加载提示
      wx.hideLoading()
      console.log("查询失败",err);
    })
  },


  
  
  openVideoAd() {
    console.log('打开激励视频');
    // 在合适的位置打开广告
    if (videoAd) {
      videoAd.show().catch(err => {
        // 失败重试
        videoAd.load()
          .then(() => videoAd.show())
      })
    }
  },
  




  tosousuo: function(even) {
    console.log(even)
  
    var id = even.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../sousuo/sousuo?id=',
    })
  
  
  
  },
  








//页面上拉触底事件的函数
onReachBottom(){
  console.log("页面上拉触底事件的函数");
  this.getList()  
}


})
回答关注问题邀请回答
收藏

1 个回答

  • 再见,电脑崽
    再见,电脑崽
    2022-03-30

    this.viewitem({currentTarget:{dataset:{id:123}}})

    2022-03-30
    有用
    回复 1
    • InoR1.
      InoR1.
      2022-03-30
      大佬 这个只能跳转固定id啊 上面viewitem获取的ID怎么填进下面去呢?
      2022-03-30
      回复
登录 后发表内容