Создайте тканевый холст с помощью ngFor в Angular

Я использую Fabric.js с Angular 4. Мне удалось создать холст внутри компонента и успешно рисовать на нем.

Я использовал this.canvas = new fabric.Canvas('canvas1',{}); this.canvas.add(New fabric.Rect...) в своем файле .ts

Затем я попытался сгенерировать более одного холста, я использовал * ngFor в своем элементе холста и сумел получить атрибут id как canvas1, canvas2...

Теперь тот же код this.canvas = new fabric.Canvas('canvas1',{}); ...a уже не работает, как будто не было канвы с id=canvas1. Когда я осматриваю дом, элемент находится прямо там.

* ngFor ломает это или я что-то упускаю?


person Nafaa Azaiez    schedule 26.11.2017    source источник


Ответы (1)


Я нашел проблему, код отрисовки был выполнен до того, как вид был готов, до того, как был выполнен ngFor.

Решение состоит в том, чтобы выполнить код после того, как представление будет готово, используя ngAfterViewInit()

person Nafaa Azaiez    schedule 26.11.2017