Vue.js中的keep-alive组件

,一般用来包裹动态组件,可以使被包含的租组件保留状态,避免被重新渲染。

当在组件之间来回切换到时候,它会缓存不活动的组件实例,而不是执行组件的声明周期的destroyed钩子函数销毁组件。

keep-alive有两个属性,exclude和include,包含或者不包含该组件,然后对其进行相应的缓存操作。

当组件在中被切换时,有activated和deactivated两个生命周期钩子函数被对应的执行。

比方说:当我们想要下次回到这个页面的时候,还是让其保持离开时候的状态,如下拉的高度就是一个可以被保留的状态。我们就可以调用其两个钩子函数,对滚动的高度进行记录和缓存,确保下次回来时,还是在当前的高度。
在离开的时候,在deactivated中保存距离视口顶部的高度;
在回来的时候,在activated中,让其通过短暂的延迟之后(大概50ms),还是在离开时记录的那个位置的高度。

你可能感兴趣的:(vue.js,前端)