求教,用什么方法可以实现安卓和苹果等原生app的全局换肤功能
看了几个vue的方法,但是不知道安卓和苹果要怎么实现,无从入手
Exe
- 发布:2019-05-13 11:41
- 更新:2023-06-12 11:04
- 阅读:3587
我有一个大胆的想法,但是可能做起来有一点复杂,因为uni-app有一个问题就是它提供的许多组件,比如一个radio,它的色彩样式是通过color属性去设置的,而不是像pc端的div,可以通过bgColor等css样式去控制,我的思路是这样的:
1.利用vuex状态管理去做全局的样式控制,也就是首先定义一套全局的样式
- 将需要纳入换肤的控件做封装,比如radio封装成一个<ly-radio>,在封装的组件中,color的属性值取全局样式的属性值
- 在换肤功能中去$commit或dispatch改变全局样式的值,就会触发所有页面中<ly-radio>的更新,达到换肤的效果
以上只是我的思路,还没有具体实现,理论上是可行的。因为已经验证过一个功能。
Exe (作者)
感谢!! 我去试试
2019-05-20 16:36
8***@qq.com
回复 Exe: 不客气,我也是之前一直纠结这个换肤的问题,最近在封装request的时候在拦截器里用vuex改变状态配合封装的一个error组件去动态的渲染错误页。得到的启发,这个功能已经实现了,所以我觉得换肤应该是一样的原理,可以试试
2019-05-20 17:01
2***@qq.com
你这个思路是正确的,最佳实践
2021-03-22 15:40