vue 使用 this.$router.push到同一个页面但是参数不同页面不刷新的问题
解决思路:通过query传递参数即可,亲测可以,原理尚未知,先记录一下。this.$router.push({name: 'ListModel', query: {modelId: modelId}});在新页面查询查询参数调用获取数据方法//创建页面时调用获取页面数据方法created() {this.getData();},methods: {getData() {//通过$route.
·
解决思路:通过query传递参数
this.$router.push({name: 'ListModel', query: {modelId: modelId}});
在新页面查询查询参数调用获取数据方法
//创建页面时调用获取页面数据方法
created() {
this.getData();
},
methods: {
getData() {
//通过$route.query获取到新的参数
getPagerByModel(AppConstant.serverBase, this.$route.query.modelId, this.currentPageIndex, (response) => {
this.listItemData = response.data.data;
});
}
}
在监听到路由变化时,需要清除数据以及重新获取数据:
,watch:{
'$route'(to,from){
this.clearData();
this.getData();
}
},
获取数据成功后,强制重新渲染页面:
this.$forceUpdate();
更多推荐
已为社区贡献3条内容
所有评论(0)