我对角度路由器中的reuseStrategy有一个有趣的问题。
所以想象一下,我有一个我想要“缓存”的组件,所以如果我使用路由器回到这个组件它是,没有创建,ngOnInit和其他东西。 这很酷,而且工作正常。
问题是 - 此组件在模板中有<video autoplay>
标记。一切都运行正常,但是当使用来自路由器策略的缓存“重新渲染”组件时,存在被冻结的问题。
我必须点击此视频才能开始播放。
所以问题是我可以使用任何类型的事件来通知我从缓存/路由器策略方式加载的组件吗? 如果是的话我可以这么简单:
event.subscribe(()=>this.videoElement.nativeElement.play());
你有什么想法吗?
答案 0 :(得分:1)
路由器有NavigationEnd
event可以挂钩。
class Cmp {
constructor(private router: Router) {
router.events
.filter(e => e instanceof NavigationEnd)
.subscribe(() => {
this.videoEl.nativeElement.play()
});
}
}