收藏
回答

在app.js 里定义函数,在页面使用提示该function不是一个函数,这个怎么怎么解决?

使用场景:

一个通用函数,内容如下:

function A(){
     
}
A.show=function(){
     
}
A.hide=function(){
     
}
 
export default A


在app.js里导入,并挂在app里,代码如下:

import A from './A.js'
App({
    A:A
})


最后在页面里使用,代码如下:

var app=getApp()
 
app.A.show()


提示我show() 不是一个function,然后我调试了一下,在app.js里还是可以看到A里面含有show方法的,但是实际页面使用的时候,就消失了

是getApp()做了什么处理了么?求解惑

回答关注问题邀请回答
收藏

4 个回答

  • .
    .
    2019-11-14



    2019-11-14
    有用 2
    回复 3
    • 范范
      范范
      2019-11-14
      请指教
      2019-11-14
      回复
    • .
      .
      2019-11-14回复范范
      不需要放在app.js里面去了,直接在需要使用的页面直接引用就好,放进去app.js里面去就不在是函数了
      2019-11-14
      回复
    • 范范
      范范
      2019-11-14回复.
      嗯嗯,谢谢。
      2019-11-14
      回复
  • 子不语
    子不语
    2019-11-14

    你这……emmm……

    2019-11-14
    有用 1
    回复 4
    • 范范
      范范
      2019-11-14
      请指教
      2019-11-14
      回复
    • 子不语
      子不语
      2019-11-14回复范范
      你要不把 A 放到 app.js 的globalData 里面?然后 app.globalData.A 这样使用?写在外面会被微信重新编译
      2019-11-14
      回复
    • 范范
      范范
      2019-11-14回复子不语
      嗯,我尝试一下,目前我是通过直接import的方式引入的,可以正常调用,谢谢。
      2019-11-14
      回复
    • 子不语
      子不语
      2019-11-14回复范范
      嗯嗯
      2019-11-14
      回复
  • 污昂ᰔᩚ王࿐
    污昂ᰔᩚ王࿐
    2019-11-14

    A 应该是对象  而不是函数

    2019-11-14
    有用 1
    回复 1
    • 范范
      范范
      2019-11-14
      嗯嗯,我知道对象的话是可以的,但是我希望直接调用A()也可以,A.show()也可以,正常import没问题,但是挂载到app.js里就有问题了
      2019-11-14
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-11-14

    let A = {}

    A.show = function () {}

    A.hide = function () {}

    export default A

    2019-11-14
    有用 1
    回复 1
    • 范范
      范范
      2019-11-14
      我知道这样是可以的,但是我希望的是直接调用A()也可以,A.show()也可以
      2019-11-14
      回复
登录 后发表内容
问题标签