1
次のコードでは、この2つのルートの間をルーティングしたときにngOnInit()という名前のhiddenを使用しました。しかし、 "* ngif"を使用した場合、ngOnInit()は呼び出されませんでした。なぜそれが起こったのだろうと思う。また、「[hidden]」がCSSと衝突する可能性がある場合は、「* ngif」にしたいと思います。"[hidden]"は動作しますが、Angular2のngOnInit()では "* ngIf"は機能しません。なぜですか?
<div class="container">
<div [hidden]="!(router.url == '/info/userinfo')">
<div class="catalog" >
<button [routerLink]="['/info/userinfo']"><h2>userinfo</h2></button>
</div>
<div [hidden]="!(router.url == '/info/question')">
<div class="catalog">
<button [routerLink]="['/info/question']"><h2>question</h2></button>
</div>
</div>
</div>
userinfoと質問はinfoの2つのコンポーネントと子です。 私は '/ home'から '/ info/question'に行くと、ngOnInit()が呼び出されるので、ルートに何か関係があると思います。しかし、 '/ info/userinfo'から '/ info/question'に行くと、ngOnInit()は呼び出されません。
これについては、[Angular]のドキュメント(http://angular.io)で説明しています。よく書かれているので、見てみることを強くお勧めします – Gab