有什么区别ActivatedRouteSnapshot
and ActivatedRoute
在 Angular 4 中?我的理解是ActivatedRouteSnapshot
是一个孩子ActivatedRoute
, 意思是ActivatedRoute
包含ActivatedRouteSnapshot
.
顺便说一句,我尝试运行谷歌搜索来寻找这个问题的答案,但我没有发现任何搜索结果是可以理解的。
谢谢你!
Since ActivatedRoute
可以重复使用 https://stackoverflow.com/questions/48155804/angular-routing-instance-creation-vs-instance-activation/48157720#48157720, ActivatedRouteSnapshot
是一个不可变对象,表示特定版本 of ActivatedRoute
。它公开了与以下所有相同的属性ActivatedRoute
作为普通值,而ActivatedRoute
将它们暴露为可观察量。
这是实现中的评论:
export class ActivatedRoute {
/** The current snapshot of this route */
snapshot: ActivatedRouteSnapshot;
如果路由器重用一个组件并且不创建新的激活路由,那么您将有两个版本ActivatedRouteSnapshot
对于相同的ActivatedRoute
。假设您有以下路由配置:
path: /segment1/:id,
component: AComponent
现在您导航到:
/segment1/1
您将在activatedRoute.snapshot.params.id
as 1
.
现在您导航到:
/segment1/2
您将在activatedRoute.snapshot.params.id
as 2
.
您可以通过执行以下命令来查看它:
export class AComponent {
constructor(r: ActivatedRoute) {
r.url.subscribe((u) => {
console.log(r.snapshot.params.id);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)