问题原因
主要是因为设置keep-alive后,页面将不会发送新的请求,而是继续用上一次的数据,这样就导致路由已经发生变化,但是页面仍然是上一次的数据。
解决方式
方式一
在这个页面中添加activated属性,并在里面调用一次数据请求。这样做有一个坏处就是在请求到新的数据之前,页面仍然是上一次的数据。
方式二
在keep-alive中添加属性exclude,并将想刷新的组件(即不想keep-alive)的name填进去。注意,一定要设置name
比如我有一个组件,name:'card'
,那么我就可以这么写<keep-alive exclude="card"></keep-alive>
这样每次进入到同一个组件之后,仍然会发送一次请求。数据就会更新