首页 > 解决方案 > 如何检测角度路由以设置变量?

问题描述

我有一个父组件,如下面的代码所示,我简化了。我想在路由到“my-timesheet”时设置变量“showButton”,并在路由到其他路由时隐藏它。我不知道该怎么做,因为我是 Angular 新手。请问有什么帮助吗?PS:路由工作正常

父组件html:

  <div class="myt-left">
        <div class="row">
           <div class="col-sm text-right ">
        <span *ngIf="
        timesheetStatus.edit
          " class="myt-unselected-tab" routerLink="my-timesheet" 
       routerLinkActive="myt-selected">
      {{ t.my_timesheet }}
       </span>
            <span *ngIf="
  timesheetStatus.review
    " class="myt-unselected-tab" routerLink="timesheet" routerLinkActive="myt-selected">
      {{ t.timesheet }}
    </span>
  </div>
  <div class="col-sm text-center">
    <span class="myt-unselected-tab" routerLink="attached-files" routerLinkActive="myt-selected">
      {{ t.attachments }}
    </span>
  </div>
  <div class="col-sm ">
    <span class="myt-unselected-tab" routerLink="comment" [routerLinkActive]="'myt-selected'">
      {{ t.comments }} ({{ commentsNumber }})
    </span>
  </div>
</div>
<hr class="myt-line" />
<br />

<!------  show this button when routing to my-timesheet------>
<button *ngIf="showButton">Sauvegarder</button>

 <div>
    <router-outlet></router-outlet>
  </div>
 </div>

标签: angularangular6

解决方案


您可以从ActivatedRouteapi 获取它。它具有您可以与所需路线进行比较的 url,然后您可以相应地显示/隐藏。

https://angular.io/api/router/ActivatedRoute#description


推荐阅读