uni-app运行至微信小程序端style动态绑定失效问题

在开发微信小程序时遇到一个问题,onLoad()获取手机屏幕高度并动态绑定到view样式中,但在HbuilderX正常显示,微信小程序却不识别upx单位。解决办法是将动态绑定的upx转换为px,例如:将`this.phoneHight=res.windowHeight*2+55+upx;`改为`this.phoneHight=res.windowHeight+25+px;`或使用uni.upx2px()进行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述:

今天开发遇到了一个前端样式问题。由于业务需要,onLoad()获取到手机屏幕长度然后将长度动态绑定至view标签的sytle属性中,在HbuilderX内置浏览器中显示正常,但在微信小程序中却显示不出来绑定的样式,下面是绑定时的代码。

页面标签部分:

	<view :style="{height:phoneHight}" class="content">
        ... ...
	</view>

script部分:

export default {
		data() {
			return {
				phoneHight:'50upx',
			}
		},
		onLoad() {
			uni.getSystemInfo({
				success:(res)=>{
					console.log("手机可用高度:"+res.windowHeight*2+"upx");
					this.phoneHight = res.windowHeight*2+55+"upx";
				}
			})
		},

二、解决措施

试过了很多方式都不能解决问题,最后发现时微信小程序动态绑定时不能识别upx单位,故在动态绑定时需要将upx转换成px的形式。

错误代码:

this.phoneHight = res.windowHeight*2+55+"upx";

正确代码:

this.phoneHight = res.windowHeight+25+"px";

当然也可以用**uni.upx2px()**函数来进行单位之间的转换

至此,问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值