说明
结果:
PS:
代码:
constructor(private render: Renderer2, private router: Router,) {
this.render.listen('document', 'backbutton', ()=>{
this.backButtonEvent();
})
}
private backButtonEvent(){
this.router.navigate(['/home']).then(
()=>{
console.error('Navigate success');
},
()=>{
console.error('Navigate failed');
}
}
答案 0 :(得分:0)
使用zone.run解决了我的问题。
ngZone保持角度重新渲染。
我想我遇到的问题是由角度以外的事件监听器引起的,但是,我的回调会影响视图。
所以zone.run()强制重新渲染视图。
constructor(
private render: Renderer2,
private _zone: NgZone
) {
this.render.listen('document', 'backbutton', ()=>{
this.backButtonEvent();
})
}
private backButtonEvent(){
this._zone.run(
() => {
this.router.navigate(['/home'])
}
)
}