问题描述
1、路由里的参数值发生变化后,获取不到路由参数值
2、比如从首页的搜索点进去打开搜索列表页,可以通过路由参数获取数据,当在列表页输入关键字点击搜索后列表页不能搜索出对应数据,因为路由变化了后没有更新数据
解决办法1(亲测有效)
在路由发生变化时就重新获取数据
示例代码
ngOnInit() {
this.route.queryParams.subscribe(params => {
this.columncode = params.columncode
this.contentId = params.contentid
//获取数据
this.getColumnId(this.columncode,this.contentId)
})
}
解决办法2(这个不清楚到底行不行)
增加路由监测
示例代码
ngOnInit() {
this.route.queryParams.subscribe(params => {
this.columncode = params.columncode
this.contentId = params.contentid
})
//获取数据
this.getColumnId(this.columncode,this.contentId)
}
ngAfterViewInit() {
// 监听路由变化,需要使用这段代码,当路由变化时能保障this.columncode、this.contentId 获取到值
this.router.events.subscribe((event: any) => {
})
}