老早以前发过类似的需求:动态修改page节点的样式
内容如下:
- 需求的场景描述(希望解决的问题)
wxss中可以直接修改包括page在内的节点的样式,但是wxml中没有page节点,所以page不能像其他节点那样动态修改样式,而且也没有什么api可以用
现在折中的方法是在page里加一个view模拟page,感觉多此一举啊
- 希望提供的能力
能有api可以动态修改page节点的样式
官方最近推出了page-meta组件来回应这个需求,但是这个组件是将部分可用的样式变成了一个一个独立的属性来设置,还是不够灵活
我这边追加两个建议需求
1、(这条删掉,有个page-style属性)page-meta组件可以和其他组件一样用下面这种方式来动态设置样式
< page-meta style = "background: {{red?'red':'white'}};padding: {{pagePadding}}rpx;{{otherPageStyle}}" > |
2、增加类似 wx.setPageStyle (名字可以官方决定,我这个是建议)这样一个统一的api来设置page的样式
page-meta 有个 page-style 属性来这么做(可以用 WXML 数据绑定)。
我们考虑并没有提供这个调用。原因一是原则上界面尽量用定义式的方式来做;二是 wx 开头的调用是全局的,我们不太好区分开发者的意图到底是更改哪个页面的样式,有可能会改错。
插眼