当我使用[routerLink] =“ [”]“返回到父组件时,我有1个名为“父”的组件和另一个称为“子”(包含在路线中)“子”的组件,先前显示的变量未显示在组件html中。
组件父级中的代码:
categories: ProductCategory[];
ngOnInit ()
{
meuServico.getProductCategories().subscribe(
categories
=> {
this.categories = categories;
console.log(this.categories);
...
optional setTimeout (for tests)
...
}
)
}
父组件HTML代码:
<div *ngFor="let category of categories"><br>
<a>{{ category.name }}</a>
</div>
子组件HTML代码:
<div class="test-purposes" [routerLink]="['']"</div>;
重要信息: 当我将此代码放在题词的组件中时:
setTimeout (
() => {
log (categories)
}, 1000);
setTimeout中的console.log的结果是不确定的,但是第一个console.log(setTimeout =实时之外)包含正确的结果。
重要信息: 重新打开子组件中的routerLink之后,HTML和setTimeout中的控制台日志也不会出现,它会重定向到父组件
重要信息: 在重新打开(没有任何routerLink和订阅的第一次呼叫)组件正常工作之前
答案 0 :(得分:0)
问题与组件和模块中的提供者有关,也与可观察到的有关,我已经解决了
答案 1 :(得分:0)
categories: ProductCategory[];
ngOnInit ()
{
meuServico.getProductCategories().subscribe(
categories
=> {
this.categories = categories;
console.log(this.categories);
...
optional setTimeout (for tests)
...
}
)
}