trim363
trim363
  • 发布:2021-11-22 10:28
  • 更新:2021-11-22 18:11
  • 阅读:554

有没有自定义的全局变量和方法的方式?

分类:uni-app

官方有一篇《uni-app 全局变量的几种实现方式》
http://ask.dcloud.net.cn/article/35021

当前全局变量和方法的引入方式有:
1,引入自定义的js文件:import helper from '../../common/helper.js'; 缺点,每次引入,好累啊
2,挂载到 Vue.prototype。Vue.prototype.$helper=helper;每次调用,this.$helper.isArray,写法不方便
3,globalData。getApp().globalData.text,写法不方便
4,Vuex。状态管理模式。对不上。

有没有一种方式?
类似【uni.】的方式,将自定义的函数和全局配置放到一个自定义的标识里面去,如:【zdy.】(zdy=自定义,名称可以自由)直接在页面中使用就好了这样写法上方便多了

可能方式:
1,unipp官方开放一个这样的入口。(yy而已,好像不可能)。其实有想过直接uni.zdy.的,但怕影响uni的功能,没这没做。
2,在 index.html 动手脚,因为当前的html好像是生成的,没找到方式

当前是:直接将封装的js文件在main.js中引入,挂载Vue.prototype上,在每个页面引入。
js外层,var zdy;
js内层:beforeCreate(){let zdy=this.$zdy;},
js内层的method中直接使用:zdy.isArray
缺点:写法不方便

2021-11-22 10:28 负责人:无 分享
已邀请:
DCMarvel

DCMarvel

都是直接用uni ,并未发现不妥,注意变量名称就行.个人理解uni 好比web window

trim363

trim363 (作者) - 咸鱼363

直接使用【uni.】很方便。类似js代码中直接使用window。
就是太方便了,因此我才想将项目中的配置(域名、业务处理时间等)放到一个类似的对象里面。

我想问的是有没有一种方式?类似【uni.】,将项目中的一些配置,一些函数,统一放到一个对象里面【zdy.】。在main.js中引入后,直接在代码里面使用,而不是【this.$zdy.】的方式使用。

  • DCMarvel

    自己想做一个uni或this 好比自己做一个window.你考虑考虑呢

    2021-11-22 11:10

trim363

trim363 (作者) - 咸鱼363

参考:
https://uniapp.dcloud.io/collocation/manifest?id=h5-template
manifest.json->h5->template 节点中关联这个html文件的路径。
增加部分代码,

之后在App.vue和其他的vue文件中都可以直接使用了。
注:h5中

该问题目前已经被锁定, 无法添加新回复