请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

修改自定义主题 问题

图片描述
老师您好,用户点击了主题色之后,我们不是把数据存到缓存中了么,那么用户选择完新的颜色颜色后,他本地本地存储的颜色,应该会变化,那么我们对应的generateColors(getItem(MAIN_COLOR))这个方法的值 不是会改变么,既然这个改变,为什么这个cssVar不会被触发呀, 在这里,cssVar所依赖的不就是 variables 和 generateColors(getItem(MAIN_COLOR)) 么 ,既然有一个依赖变化了,那么就应该触发我们的cssVar 才对呀 为什么这里不会被触发呀

正在回答 回答被采纳积分+3

1回答

Sunday 2023-08-03 18:56:04

你好

这里的 variables 是一个什么样的数据,如果他不是一个响应式数据的话,那么它的改变并不会让 getter 重新触发。

我贴一下在项目源码中的 cssVar 代码:

https://img1.sycdn.imooc.com//szimg/64cb87c20935713616320546.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 gentle-men #1
    老师您好,可是这个时候。下面的那个generateColors对应的方法得到的值改变了,这个时候不也应该触发cssVar么,因为他也是cssVar的一类之一,这点我有点想不通
    回复 有任何疑惑可以回复我~ 2023-08-03 19:03:20
  • Sunday 回复 提问者 gentle-men #2
    generateColors 他只是一个普通的方法,他并不是响应性的呀。
    回复 有任何疑惑可以回复我~ 2023-08-03 20:55:26
  • 提问者 gentle-men 回复 Sunday #3
    老师您好,getters不是只要所依赖的选项发生变化就会自动触发么,这里我们generateColors的结果发生了变化,不就会自动触发这个getters么,还是说getters的触发有其他限制呀老师
    回复 有任何疑惑可以回复我~ 2023-08-03 20:58:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信