因为要写一个弹窗组件,但是又要在弹窗组件里面写新的动画,那就只能在弹窗开启后把动画移除,子元素才能重新添加动画效果,但是
v-if判断的弹窗,你又不能在他不存在的时候获取dom去添加类名,所以研究了半天,打算改成v-show的时候,奇怪的发现他第二次打开的时候又出现了了需要添加的动画
v-if对dom的操作是不渲染不生成,就无法获取dom- 可以在点击关闭按钮的时候添加了类才让他消失
- 但是安卓的全局返回不好交互
- 唯有将if改成了show让他渲染但不显示了
- 以上是我一开始打算的做法,打算在vue生命周期update阶段当他不显示的时候就给他添加类名
- 后面没写update部分代码的时候偶然发现他居然正常显示了动画
- 后面一狠心将打开弹窗移除动画的js操作改成了
dom.innerHTML = '1' - 然后在vue开发者工具里面把弹窗关闭,那个1就被我关闭了
- 再次点开弹窗他又变回了该有的样子,1不见了,等执行到1的那一行才变化
- 从而得出:
vue的插槽每次执行前都是重新从父组件内获取内容而不是继续上次获取到的内容
- 真的是完美解决了我担心的问题,看到帖子觉得有用的麻烦留个赞谢谢~