严重bug, 用class定义的事件在运行的时候提示招不到
发布于 5 年前 作者 taoqian 18198 次浏览 来自 问答

wxml

<view bindtap="tapTab"></view>

js

class Home {
  tapTab() {
    console.log("tab");
  }
  onPullDownRefresh() {
    console.log("refresh");
  }
  onReachBottom() {
    console.log("bottom");
  }

}


Page(new Home())

当此页面运行的时候,这三个方法均没有执行

5 回复

所以才说你不懂啊。

你自己想你传入一个对象,我要迭代去取这个里面的方法然后添加到Page的实例上。

那么问题来了:new class创建的实例for in循环是拿不到原型链上的方法的,更不用说Object.keys和Object.getOwnPropertyNames了。

请告诉我现在要怎么把你传入的对象里面的方法传给page实例?

哥们你不知道class 实例调用方法会一层一层往上找么。我也是醉了小程序要是说绑定到当前页面的类不支持原型链的方法那要class还有啥卵用。 不和和你争论 坐等官方回答

哥们,你真的懂ES6的class么?

class关键字声明的这些方法都是绑定到类的原型上的。也就是说你new Home实例化出来的对象里面是没有这三个方法,只有Home.prototype上面才有这三个方法

里面加个构造函数看会执行不

ios 10.2.1  WeChat 6.5.6

回到顶部