如何解决Angular 路由器插座取消订阅
我想问一下我的想法是否正确,因为我在堆栈上找到的解决方案很少,并且不确定我是否正确。所以我想使用路由器插座向父级发出子级值。问题是我正确退订了吗?
@Component({
selector: 'app-home',templateUrl: './home.component.html',styleUrls: ['./home.component.css'],})
export class HomeComponent implements OnInit {
user: User;
totalItems: number;
currentCount$: Observable<number>;
private subscription: Subscription;
constructor(public accountService: AccountService,private router: Router) {}
ngOnInit() {
console.log(this.subscription)
}
onActivate(component) {
if (component instanceof MemberGridComponent) {
this.subscription = component.itemCount.subscribe((c) => {
this.currentCount$ = c;
});
}
}
onDeactivate() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
logout() {
this.accountService.logout();
this.router.navigateByUrl('/');
}
}
路由器
<router-outlet (activate)="onActivate($event)" (deactivate)="onDeactivate()"></router-outlet>
HTML
<ul>
<li routerLink="/home/a" routerLinkActive="active" style="padding-right: 30px;"><span>a</span> <span >{{currentCount$}}</span> </li>
<li routerLink="/home/b" routerLinkActive="active">b</li>
<li routerLink="/home/c" routerLinkActive="active">c</li>
<li>Help</li>
</ul>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。