收藏
回答

严重bug, 用class定义的事件在运行的时候提示招不到

问题模块
API和组件

wxml

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

js

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

}


Page(new Home())


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


最后一次编辑于  2017-03-31  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

5 个回答

  • 7.
    7.
    2017-03-31

    ios 10.2.1  WeChat 6.5.6

    2017-03-31
    赞同
    回复
  • 韬々
    韬々
    2017-03-31

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


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


    2017-03-31
    赞同
    回复
  • 7.
    7.
    2017-03-31

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

    2017-03-31
    赞同
    回复
  • 韬々
    韬々
    2017-03-31

    所以才说你不懂啊。


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


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


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

    2017-03-31
    赞同
    回复
  • 橙子国王
    橙子国王
    2017-10-28

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

    2017-10-28
    赞同
    回复