欢迎光临
我们一直在努力

uniapp微信小程序Vue.prototype挂载全局变量,页面中无法获取

在uniapp开发过程中,各端的一些高度会有区别,为了方便,就要统一放到全局变量中。
一开始使用Vue.prototype,在h5和App中使用都没问题,但打包微信小程序测试时,发现取不到这里的值。
遂改用Vuex,在onLaunch的时候把这些值放到state里边,然后在页面中使用,就可以了。
特此记录。

// 使用Vue.prototype,在h5,App中表现OK,微信小程序页面中取不到值
uni.getSystemInfo({
	success: function(e) {
		Vue.prototype.statusBar = e.statusBarHeight
		// #ifndef MP  
		if (e.platform == 'android') {
			Vue.prototype.CustomBar = e.statusBarHeight + 50
		} else {
			Vue.prototype.CustomBar = e.statusBarHeight + 45
		}
		// #endif  

		// #ifdef MP-WEIXIN  
		let custom = wx.getMenuButtonBoundingClientRect()
		Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight
		// #endif  

		// #ifdef MP-ALIPAY  
		Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight
		// #endif  
	}
})

// 放到Vuex中,小程序也能正常使用了。
this.$store.commit('setCustomBar',Vue.prototype.CustomBar) 
赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » uniapp微信小程序Vue.prototype挂载全局变量,页面中无法获取

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址