uniapp打包不支持动态style
时间: 2023-08-02 19:07:50 浏览: 84
uniapp打包h5后自定义配置文件可修改 的操作方法
在使用uni-app开发时,如果使用了动态style样式绑定,打包成小程序或者APP时可能会出现样式失效的情况。这是因为小程序和APP中的样式需要在编译时就确定下来,而动态样式绑定的值只有在运行时才能确定,因此会导致样式失效。
解决方法:
1. 尽量避免使用动态style样式绑定,尽量使用class或者id等静态样式绑定方式。
2. 如果非常需要使用动态style样式绑定,可以考虑使用`style`标签在页面中动态添加样式,如下所示:
```javascript
export default {
data() {
return {
backgroundColor: 'red'
}
},
mounted() {
// 在mounted生命周期中动态添加样式
const style = document.createElement('style')
style.type = 'text/css'
style.innerHTML = `body { background-color: ${this.backgroundColor}; }`
document.getElementsByTagName('head')[0].appendChild(style)
}
}
```
在页面mounted生命周期中,通过`document.createElement`方法创建`style`标签,并将动态样式添加到标签中,最后通过`appendChild`方法将标签添加到页面中。
注意:这种方法可能会导致页面渲染闪烁的问题,需要根据实际情况进行选择。
阅读全文