请问老师一下响应式方法的问题

来源:5-7 播放器 歌曲收藏功能相关逻辑开发(2)

hy_wang

2021-05-08

老师这里的代码我有一个小问题想请教一下

<div class="icon i-right">
            <i
              :class="getFavorite(currentSong)"
              @click="toggleFavorite(currentSong)"
            ></i>
          </div>

这里不应该是toggleFavorite点击后改变了favoriteList这个vuex的数组,但是i标签的class是渲染时候调用的方法,我打印了log为什么会点击之后又再次执行了一次getFavorite方法。我不太明白为什么会自再次执行方法,响应式数据可以理解。但是方法内部难道也劫持了响应式数据吗。难道说方法中的响应式数据改变方法会重新执行从而重新渲染模板。(我记得V2版本中不是这样的啊,模板中的方法只会在created的时候进行执行一次)

写回答

1回答

ustbhuangyi

2021-05-08

每次 rerender,执行 render 函数的时候,自然就会调用一次方法了呀。

0
8
ustbhuangyi
回复
hy_wang
在函数执行过程中访问响应式对象就会触发依赖收集
2021-05-09
共8条回复

Vue3开发企业级音乐Web App 明星讲师带你学大厂代码

慕课网明星讲师黄轶深度讲解 Vue3.0 ,提升的不止是Vue代码能力

2223 学习 · 1002 问题

查看课程