r***@126.com
r***@126.com
  • 发布:2023-06-26 17:51
  • 更新:2023-06-27 09:23
  • 阅读:321

【报Bug】mixins在微信小程序端失效

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.8.4

第三方开发者工具版本号: 1.0.6.2303220

基础库版本号: 2.32.2

项目创建方式: HBuilderX

示例代码:

/common/mixinx/ui.js

export const commonMethods = {  
    methods:{  
        goToPage(url){  
            uni.navigateTo({  
                url:url  
            })  
        }  
    }  
}  

/pages/home/home.vue


.......  
<view id="test" @click="gotoPage('/pages/another/page')"></view>  

........  
<script>  
export default {  
mixins:[  
valueGetters,  
layouts,  
commonMethods   
]  

.........  
}  
</script>

操作步骤:

必现

预期结果:

点击id为test的那个组件时,应该转跳到/pages/another/page

实际结果:

无反应,微信开发者工具日志:

WAServiceMainContext.js?t=wechat&s=1687765728639&v=2.32.2:1 Error: Page "pages/home/home" does not have a method "gotoPage"
at vendor.js?t=wechat&s=1687765728639&v=fb14e826343aeafb0d090e8cb38ecc48:1932
at Array.forEach (<anonymous>)
at vendor.js?t=wechat&s=1687765728639&v=fb14e826343aeafb0d090e8cb38ecc48:1916
at Array.forEach (<anonymous>)
at _i.handleEvent [as __e] (vendor.js?t=wechat&s=1687765728639&v=fb14e826343aeafb0d090e8cb38ecc48:1908)
at Object.o.safeCallback (WASubContext.js?t=wechat&s=1687765728639&v=2.32.2:1)
at WASubContext.js?t=wechat&s=1687765728639&v=2.32.2:1
at Rn (WASubContext.js?t=wechat&s=1687765728639&v=2.32.2:1)
at WASubContext.js?t=wechat&s=1687765728639&v=2.32.2:1
at _e (WASubContext.js?t=wechat&s=1687765728639&v=2.32.2:1)(env: Windows,mp,1.06.2303220; lib: 2.32.2)

bug描述:

Vue2的项目,页面mixins在H5和APP端都正常工作,但在微信小程序端就提示找不到混入的函数。

2023-06-26 17:51 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

你把hbx切换到上个版本试试
我用的3.7.0的 是正常触发的

  • r***@126.com (作者)

    谢谢回复,我待会儿试试。

    2023-06-26 19:07

爱豆豆

爱豆豆 - 办法总比困难多

我刚升级了版本 3.8.6 的hbx 编译微信小程序也是可以使用混入的

  • r***@126.com (作者)

    方便分享下您的成功案例吗?我不知道是不是哪的写法或者设置有问题,有点头大。

    2023-06-26 19:09

  • 爱豆豆

    回复 r***@126.com: 你是不是跳转路径写错了

    2023-06-27 09:23

爱豆豆

爱豆豆 - 办法总比困难多

<template>  
    <view>  
        <button @tap="goToPage('/pages/ee/index/index')">goToPage</button>  
    </view>  
</template>  

<script>  
    import {commonMethods} from './toNav.js'  
    export default {  
        mixins:[commonMethods],  
    }  
</script>
export const commonMethods = {    
    methods:{    
        goToPage(url){    
            uni.navigateTo({    
                url:url  
            })    
        }    
    }    
}  
  • r***@126.com (作者)

    好的,谢谢。不过我后来发现可能是微信小程序开发工具的问题,卸载重装了下就好了。-_-!

    2023-07-02 16:50

  • 爱豆豆

    回复 r***@126.com: 嗯嗯

    2023-07-03 09:42

要回复问题请先登录注册