2 回答

TA貢獻1820條經驗 獲得超2個贊
讓我們試試這個:
quizName$: Observable<any>;
ngOnInit(): void {
this.quizName$ = this.activatedRoute.url
.pipe(
takeUntil(this.unsubscribe$),
map(segments => segments[1].toString()); // Not sure about this part
);
}
<mat-card *ngIf="(quizName$ | async) === quiz.quizId">
請注意,每次您在模板中使用異步管道時,它都會進行訂閱。

TA貢獻1878條經驗 獲得超4個贊
添加變量:
quizName$ = this.activatedRoute.url.pipe(map(segments => segments[1].toString()));
不需要takeUntil諸如“| async”之類的就可以了
可選(您的 IDE 會自己知道)
quizName$: Observable<string> ...
在 HTML 中:
*ngIf="(quizName$ | async) === quiz.quizId"
更“穩健”的解決方案
showQuiz$: Observable<boolean> = this.activatedRoute.url.pipe(
map(segments => segments[1].toString()),
map(quizName => quizName === this.quiz && this.quiz.id)
);
*ngIf="showQuiz$ | async"
添加回答
舉報