title: Why "[hidden]" works, but "*ngIf" does not work for ngOnInit() in Angular2?
body: <p>For the following code, I used hidden, it called ngOnInit() when I routed between this two route. However, when I used "*ngif", ngOnInit() was never called. I wondering why it happened. Also, I want to "*ngif" if it is possible since "[hidden]" can conflict with CSS.</p>
  
  <pre><code>&lt;div class="container"&gt;
                  &lt;div [hidden]="!(router.url == '/info/userinfo')"&gt;
                    &lt;div class="catalog" &gt;
                      &lt;button [routerLink]="['/info/userinfo']"&gt;&lt;h2&gt;userinfo&lt;/h2&gt;&lt;/button&gt;
                  &lt;/div&gt;
                  &lt;div [hidden]="!(router.url == '/info/question')"&gt;
                    &lt;div class="catalog"&gt;
                      &lt;button [routerLink]="['/info/question']"&gt;&lt;h2&gt;question&lt;/h2&gt;&lt;/button&gt;
                    &lt;/div&gt;
                  &lt;/div&gt;
       &lt;/div&gt;
  </code></pre>
  
  <p>userinfo and question are two components and children of info.
  I guess it has something relate to route, since if I go from '/home' to '/info/question', ngOnInit() will be called. However, if I go from '/info/userinfo' to '/info/question', both ngOnInit() will not be called.</p>