Felldeadbird
V2EX  ›  微信

微信小程序的事件绑定,有更优雅的复用方式吗?

  •  
  •   Felldeadbird · Sep 7, 2020 · 1349 views
    This topic created in 2100 days ago, the information mentioned may be changed or developed.

    最近在写小程序,我发现这么一个问题,事件绑定貌似没有优雅的复用方法去实现。

    我现在有 10 个 page 。共有一个元素,bindtap 绑定了一个事件: repeatEvent(){}

    刚开始,为了业务开发进度,我 10 个页面都写了 repeatEvent 。后来,某写原因 repeatEvent 里面的业务逻辑进行调整。那一刻我就要改 10 个 repeatEvent 。 于是乎我就一次性将他的业务逻辑 改为 外部函数。

    repeatEvent(){ ... e.externalFunc(param1, param2, ..) ... } 改好 10 个页面。业务逻辑封装起了,后续只需要修改封装的函数就可以了,不过感觉太落后的写法了。

    所以问题就是,我有什么办法,不在 10 个页面都写 repeatEvent 。 类似其他语言的继承。子类没有方法,就找父类……

    2 replies    2020-09-08 14:37:24 +08:00
    jswxg
        1
    jswxg  
       Sep 7, 2020   ❤️ 2
    event.js
    function repeatEvent(){
    //dosomthing
    }
    module.exports.repeatEvent = repeatEvent

    小程序代码中:
    const mymod = require('event.js')
    mymod.repeatEvent()
    Felldeadbird
        2
    Felldeadbird  
    OP
       Sep 8, 2020
    @jswxg 我今天把 复用的东西 调用到组件去了。
    组件绑定重复事件就可以了。
    然后再基于 getCurrentPages() ,去读取对应页中的 data 数据
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2934 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:59 · PVG 22:59 · LAX 07:59 · JFK 10:59
    ♥ Do have faith in what you're doing.