【发布时间】:2019-07-07 00:06:15
【问题描述】:
我有一个 Angular 组件,ProductComponent。根据选择的链接,如下面的导航链接中所示,我希望重新加载相同的 ProductComponent 但具有不同的参数。例如,[routerLink]="['/product', 'chicken']" 应该加载产品页面,但以鸡肉作为产品。
<li class="nav-item" role="presentation">
<a class="nav-link" [routerLink]="['/product', 'chicken']">
Chicken<br>
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" [routerLink]="['/product', 'salads']">
Salads<br>
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" [routerLink]="['/product', 'sides']">
Sides<br>
</a>
</li>
问题是当我已经在产品页面上时,单击链接时 Angular 不会重新加载页面,因为尽管参数不同,但它看到页面 /product 已经加载,因此它不会重新加载它.我该如何解决。
【问题讨论】:
-
添加您的
routing.ts -
当productType发生变化时,需要根据productType取数据并重新绑定到组件。无需重新加载。其次,不要使用 [routerLink],而是使用(单击)事件处理程序并传递适当的数据。这是处理此类用例的正确方法。