在Angular中,当使用RouterLink或programmatic routing切换路由时,会重新渲染整个组件。这可能会导致一些意外的行为,例如音频或视频会停止播放。这个问题可以通过使用Angular的*ngIf指令来解决:
在这个示例中,只有当showMyComponent为true时才会渲染MyComponent组件。因此,如果要更新组件,只需要更改showMyComponent的值即可。
如果您使用的是片段(#),则需要在RouterLink中将fragment链接到当前路由:
Go to My Path
这将防止路由的完全重新渲染,只会更改片段。