关于前端:小程序-js可以动态设置css样式属性

需要: 依据后盾返回的 主题色和主题背景 动静设置款式
如果是简简单单的能够间接操作的style 就不足为虑

style="background-color:{{data.background_color ? data.background_color :'#181C2A'}}"

然而不排除某些在组件上不能间接操作的、加以批改的存在
于是乎收罗了一种解决办法
举个栗子,如下:
在js中


Page({
 data: {
  theme: {
   style: ''
  }
 },
})
...
//简简单单赋个值 属性名 如 --color 
let primary_color = `--color:` +( res.data.primary_color || `#50b7c1`)
this.setData({
      'theme.style': primary_color,
    })
...

在wxml中

<!--将css变量赋值给style-->
 <view class="themeView" style="{{theme.style}}">
 </view>
 

在wxss中


/* 应用var */
.themeView{
 color: var(--color);
}
 

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理