如何在Angular 6中引用没有模板引用的* ngIf指令控制的元素?

时间:2018-11-13 15:51:23

标签: angular angular-directive

我想获得对由*ngIf指令控制的元素的引用,而无需在Angular 6中使用模板引用。

例如,我有:

<a *ngIf="allowAccessTo()" [routerLink]="['/home']" class="nav-item nav-link">Home</a>

我想在我的[routerLink]方法中引用该元素,特别是allowAccessTo()中的href / pathname,但不必添加对该元素的模板引用。

有没有办法做到这一点?

我计划使用元素中的href / pathname调用我的角色保护服务。

如果我将路由传递到allowAccessTo()方法(allowAccessTo('home'))中,则可以正常工作,但不想这样做。

这是我的主要应用导航,因此会有很多这样的链接,即使我添加了模板引用,我也无法知道allowAccessTo()里面应该看哪个,而无法知道是哪个元素引起的allowAccessTo()方法将被调用。

1 个答案:

答案 0 :(得分:0)

是否可以在打字稿文件中创建一个变量,例如:currentRoute并在需要路由时设置此变量?然后,可以直接在函数allowAccessTo()中访问此变量。