как определить массив в шаблоне (не использовать .ts) - PullRequest
2 голосов
/ 02 апреля 2020

Я знаю, что лучший способ - это определить переменную из .ts. Но в этом случае мне нужно иметь возможность сделать *ngFor из заданного числа, где это число будет массивом с таким количеством позиций.

Моя идея примерно такая:

<ng-container * ngFor = "let item of new Array(number)>
  ...
</ng-container>

например: число = 3

<ng-container * ngFor = "let item of new Array(3)>
  repetat 3 times
</ng-container>

возможно ли это?

Ответы [ 2 ]

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

Вот один из способов, используя строку. Начальная строка 'x' повторяется нужное количество раз. Затем массив получается путем разделения строки на каждый символ.

<ng-container *ngFor="let item of 'x'.repeat(count).split('')">
  ...
</ng-container>

См. этот стек * блик для демонстрации.

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

Вы можете сделать это более удобным для чтения способом, используя канал, который создает Iterable из number параметра. Вместо применения хакерского решения, я бы предпочел трубку или директиву для такого требования.

<div *ngFor="let i of 30|times">{{ i }}</div>

Проверьте этот ответ для более подробной информации: { ссылка }

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