Angular 8 Component View Pass Переменная - PullRequest
0 голосов
/ 10 апреля 2020

Вопрос,

Есть ли способ передать MyObj на #MyCustomTemplate

<div *ngFor="let t of MyObj.person">

          <3rdPartyComponent
           [customTemplate]="MyCustomTemplate"
           >
          </3rdPartyComponent>
</div>

<ng-template #MyCustomTemplate>
    MyObj
</ng-template>

Спасибо,

Понг

1 Ответ

0 голосов
/ 10 апреля 2020

Я не совсем понимаю, вы перебираете массив людей, которые находятся в объекте с именем MyObj? (поэтому должно быть *ngFor="let t of MyObj.persons")

Также, если вы используете сторонний компонент, он действительно зависит от ожидаемого ввода этого указанного c компонента.

Для обычного angular шаблон, вставленный с использованием шаблона, вы можете передать переменную, например, такую:

<ng-container *ngTemplateOutlet="myTemplate; context: { first: 1, second: 2}"></ng-container>

<ng-template #myTemplate let-xxx="second">
<h2>This is my template: {{ xxx }}</h2>
</ng-template>

Или, если вы перебираете массив и хотите передать текущий элемент массива:

<div *ngFor="let person of MyObj.persons">
  <ng-container *ngTemplateOutlet="MyCustomTemplate; context: { data: person}"></ng-container>
</div>

<ng-template #MyCustomTemplate let-person="data">
    {{ person | json  }}
</ng-template>

рабочий пример: https://stackblitz.com/edit/angular-3wljij

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...