请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

van-button 点击事件不生效

图片描述
老师 van-button 在组件内部的点击事件都打印不出来 触发不了点击事件 我再最外层的div也加了点击事件测试 也无法生效

正在回答

7回答

Sam 2019-08-30 08:46:30

你好,需要将我的微信号加入你的开发者列表,微信号是:xiaomudushu,不然无法调试你的代码

0 回复 有任何疑惑可以回复我~
Sam 2019-09-04 09:33:01

hi,问题已经解决了,这个问题是 mpvue 的 BUG,我跟踪了点击事件的源码 handleProxyWithVue,发现我们自定义组件的事件丢失了,点击事件触发正常,但是事件丢失了,核心代码如下:

var attrs = data.attrs; // 获取事件 id
var on = data.on; // 事件实际存储位置,这里返回的是 undefined
if (attrs && on && attrs['eventid'] === eventid) {
  eventTypes.forEach(function (et) {
    var h = on[et];
    if (typeof h === 'function') {
      res.push(h);
    } else if (Array.isArray(h)) {
      res = res.concat(h);
    }
  });
  return res
}

如上,事件绑定在 data.on 属性中,这里事件丢失,导致事件无法响应,解决的方法是将 DetailBottom.vue 组件中的内容直接写到 detail.vue 中即可


1 回复 有任何疑惑可以回复我~
  • 除了这个方法还有别的方法吗,视频中不是可以吗?
    回复 有任何疑惑可以回复我~ 2020-03-27 10:39:31
Sam 2019-09-02 21:52:12

我调试了一下你的源码,发现 van-button 绑定的事件没有问题,如果你那边还有问题,可以详细描述下你的问题,抱歉回晚了,最近比较忙

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕勒327452 #1
    老师你要把detail.vue里面的DetailStat和DetailRate组件的注释打开才会点不上
    回复 有任何疑惑可以回复我~ 2019-09-03 12:40:42
提问者 weixin_慕勒327452 2019-08-28 17:06:58

但是把注释一打开就点不了

0 回复 有任何疑惑可以回复我~
提问者 weixin_慕勒327452 2019-08-28 17:06:03

我把DetailRate这个评分插件注释掉了 底部就可以点击了

0 回复 有任何疑惑可以回复我~
提问者 weixin_慕勒327452 2019-08-28 15:21:01

重启了 重新打包了都不行

0 回复 有任何疑惑可以回复我~
Sam 2019-08-28 15:14:45

先重启下项目试试

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕勒327452 #1
    重启了 重新打包了都不行,我把DetailRate这个评分插件注释掉了 底部就可以点击了,但是把注释一打开就点不了
    回复 有任何疑惑可以回复我~ 2019-08-29 09:02:45
  • Sam 回复 提问者 weixin_慕勒327452 #2
    应该不是什么大问题,上传源码吧,等我有空给你调试
    回复 有任何疑惑可以回复我~ 2019-08-29 09:07:31
  • 提问者 weixin_慕勒327452 回复 Sam #3
    https://github.com/wangyijian123/wangyj.git
    回复 有任何疑惑可以回复我~ 2019-08-29 09:57:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信