5***@qq.com
5***@qq.com
  • 发布:2024-08-01 15:30
  • 更新:2024-08-01 15:49
  • 阅读:148

为什么template中拿不到变量?救救孩子吧

分类:uni-app

正在把小程序和APP合到一起(分开更新真的太蛋疼了)
static
-app/images

  • mp-weixin/images
    分别存放小程序和APP的图

我定义了一个地址,在页面中,我希望通过变量来获取不同文件夹的图,但是居然拿不到变量
tool.js

let STATIC_DIR = '/static'  
// #ifdef APP-PLUS  
STATIC_DIR = '/static/app'  
// #endif  
// #ifdef MP-WEIXIN  
STATIC_DIR = '/static/mp-weixin'  
// #endif  

export default {  
    STATIC_DIR,  
}

main.js

import Tool from '@/common/xb-tool.js'  
Vue.prototype.$tool = Tool

index.vue

<image :src="$tool.STATIC_DIR '/images/camera.png'" class="camera " mode=""></image>

拿到的是undefined
但是在onload的时候,console.log(this.$tool.STATIC_DIR)能得到正确的结果,这是为什么呢?求大神解惑

2024-08-01 15:30 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者) - 表姐

<image :src="$tool.STATIC_DIR+ '/images/camera.png'" class="camera " mode=""></image>

有个加号被吞了

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

main.js里面打印这个Tool看看有没有值

DCloud_UNI_yuhe

DCloud_UNI_yuhe

尝试这样,用函数返回

Vue.prototype.$tools = ()=>'tools'

然后在页面中使用函数就收

<text class="title" @click="click">{{$tools()}}</text>

  • 5***@qq.com (作者)

    这样是可以的,但是是什么原理呢?

    我发现问题可以简化为

    main.js

    Vue.prototype.$static = {

    static_dir: '123'

    };

    然后模板引用

    {{$static.static_dir}}=undefined

    2024-08-01 16:10

  • DCloud_UNI_yuhe

    回复 5***@qq.com: 小程序编译的问题,不用深究吧,你就这么用着

    2024-08-01 16:18

  • 5***@qq.com (作者)

    回复 DCloud_UNI_yuhe: ok,感谢老哥~

    2024-08-01 16:25

要回复问题请先登录注册