# identifier = объяснение синтаксиса "someModule" - PullRequest
0 голосов
/ 14 апреля 2020

В шаблонах часто встречается следующий синтаксис:

<form #df="ngForm">
...
<button (click)="submitForm(df)">

Сегодня мне удалось использовать этот синтаксис с ngbTooltip, чтобы программно вызвать всплывающую подсказку:

<button #tooltipRef="ngbTooltip" ngbTooltip="Some info!" (click)="bringUpTooltip(tooltipRef)
[ngClass]="{'font-weight-bold' : someProperty.shouldBeBold, 'text-nowrap row' : true}">>

Однако я не совсем понимаю механизм, потому что, когда я использую его, чтобы получить ссылку на что-то другое (например, #classRef="ngClass" или #boldRef="someProperty.shouldBeBold"), я получаю ошибку:

Uncaught Error: Template parse errors: There is no directive with "exportAs" set to "someProperty.shouldBeBold"

Очень часто мне трудно динамически передавать ссылки из шаблона в компонент. Когда ссылка является единственной для всего шаблона, я могу использовать ViewChild, но когда она находится в пределах ngFor l oop, у меня нет немедленного решения.

Я думаю, мой вопрос заключается в том, как полностью использовать рычаги синтаксис #identity="module".

Спасибо

1 Ответ

1 голос
/ 14 апреля 2020

Когда вы используете @ViewChild со ссылочной переменной, вы получаете ElementRef.

@ViewChild('ref',{static:false}) element:ElementRef

Но вы можете указать, что это не только ElementRef, иначе это тип компонента (или вы интересны в ViewContainerRef)

@ViewChild('ref',{static:false,read:MyComponent}) element:MyComponent

Как обозначить в. html? Точно, используя способ

  <tag #tagRef="MyComponent"></tag>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...