通过点击子组件列表中的某元素,定位到父组件列表中对应的位置。我目前的做法是把父组件列表中元素到顶部的距离传给子组件,然后通过点击定位到相应的位置。但我这边遇到一个问题,当前页是没问题,但如果路由发生变化之后,父元素就获取不到dom元素了。
小白求大神解答,可能我的思路不是很好,如果有更好的方案提供就最好了。
通过点击子组件列表中的某元素,定位到父组件列表中对应的位置。我目前的做法是把父组件列表中元素到顶部的距离传给子组件,然后通过点击定位到相应的位置。但我这边遇到一个问题,当前页是没问题,但如果路由发生变化之后,父元素就获取不到dom元素了。
小白求大神解答,可能我的思路不是很好,如果有更好的方案提供就最好了。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
首先获取不到的元素是指?能具体说明一下吗?
下面是一个思路:
1.建立控制滚动的 vuex 属性 scrollTop,
2.通过 scrollTop,实现滚动控制
3.统一 scrollTop 的更新,点击锚点的时候更新数据,切换路由的时候清空
4.统一锚点的事件,最好是写在父节点,直接作为子节点的固定回调
5.设计一个点击事件,根据点击的锚点元素的计算到顶部元素的位移 更新 scrollTop
6.配置一个统一的样式作为子路由的顶级节点,方便计算