使用keep-alive标签来提高网页的性能,把一些已经访问过的组件内容存储在内存中,不用每次渲染的时候都要发送ajax请求。
<keep-alive>
//显示当前路由地址对应的内容
<router-view/>
</keep-alive>
但是有的页面需要在用户的操作后数据发生变化,所以当使用keep-alive标签的时候,vue生命周期中会出现一个activated的函数,需要数据发生变化的时候就重新发送一次ajax请求
activated(){
//当选择的城市与上一的城市不相同的时候,重新发送ajax请求
if (this.lastCity !== this.city) {
this.lastCity = this.city
this.getHomeInfo()
}
}