Open zjfresh opened 4 years ago
https://codesandbox.io/live/rehrhqj
这个show事件应该只要触发一次吧,但是每个 lazy-componet 在触发 mounted 时查询队列都会执行检查,而执行完load()后,并没有清除该listener
目前的清除条件是根据内部设定的el属性或其父节点是否存在: if (!listener.el || !listener.el.parentNode)
if (!listener.el || !listener.el.parentNode)
还需要增加一个 listener._loaded 来避免在vue组件异步更新前重复执行load()
已提PR,分析代码后,并尝试了几次,增加一个属性做判断比较好,不会干扰到其它逻辑
https://codesandbox.io/live/rehrhqj
这个show事件应该只要触发一次吧,但是每个 lazy-componet 在触发 mounted 时查询队列都会执行检查,而执行完load()后,并没有清除该listener
目前的清除条件是根据内部设定的el属性或其父节点是否存在:
if (!listener.el || !listener.el.parentNode)
还需要增加一个 listener._loaded 来避免在vue组件异步更新前重复执行load()