问答

全局组件中如何针对个别页面添加功能?

作者:admin 2021-05-07 我要评论

比如说一个公共组件,有十几个画面在用,但是针对其中一个画面要做一些修改,我目前是想按下面的伪代码这样做: const onChange = () = { if (targetPage) { // ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

比如说一个公共组件,有十几个画面在用,但是针对其中一个画面要做一些修改,我目前是想按下面的伪代码这样做:

const onChange = () => {
    if (targetPage) {
        // 个别画面
        callTargetFoo();
    } else {
        // 其它的画面
        callGlobalFoo();
    }
}

想请教下这种情况下有更优雅的编码方式吗?

###

可以用控制反转,每个页面在调用组件时传入对应的方法,然后组件内部执行传入的方法,而不用关心是哪个页面。

如果不想每个页面都改,可以把通用的方法作为默认值,这样只用改一个页面。
从性价比的角度来说,如果只有一个页面要改,用if else也是可以的,但要注意以后需求膨胀时,尽快切换到上述方案

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 全局组件中如何针对个别页面添加功能?

    全局组件中如何针对个别页面添加功能?

  • Prettier 和 ESLinit 在 swtich case

    Prettier 和 ESLinit 在 swtich case

  • 目前我从php转go语言,想直接选择最好

    目前我从php转go语言,想直接选择最好

  • 关于数据库商品库存的架构设计问题

    关于数据库商品库存的架构设计问题

腾讯云代理商
海外云服务器