vue多次跳转同一页面显示不同内容
如果在create中进行数据获取,那么在多次打开页面的时候,之后打开的页面数据都是和第一页相同的,这是因为data是在$vm实例创建之前就会进行赋值,而在第一次打开页面时,就已经创建了实例并对data进行赋值了,之后每次打开都不会再创建;使用activated(这是和keep-alive协同使用的一个属性,如果没有设置keep-alive ,activated是不存在的),并在activated中
·
-
如果在create中进行数据获取,那么在多次打开页面的时候,之后打开的页面数据都是和第一页相同的,这是因为data是在$vm实例创建之前就会进行赋值,而在第一次打开页面时,就已经创建了实例并对data进行赋值了,之后每次打开都不会再创建;
-
使用activated(这是和keep-alive协同使用的一个属性,如果没有设置keep-alive ,activated是不存在的),并在activated中进行Id获取和数据方法调用,可每次获得新的数据。
activated和created的区别:created是创建vm实例时执行,而activated更像是每次新打开这个页面的时候执行
- 使用watch监听,监听路由!当监听到路由转到详情页时,就调用数据方法。以下代码GetData()方法中获取Id并获取数据。监听路由和设置activated是互补的操作,新打开页面时,路由不会被监听,这时候利用activated,但是在重复打开本页面时,activated不会被执行,这时候利用路由监听。
watch:{
"$route"(val,oldval){
if(val.meta.title=='详情页名字'){
this.GetData()
}
}
}
我的博客主页 :https://qingmuzhang.gitee.io/
更多推荐
已为社区贡献5条内容
所有评论(0)