В вашем стеке произошла ошибка.
В вашем app.module измените на:
import { MatDialogModule } from '@angular/material/dialog';
Теперь реальный вопрос. В родительском компоненте при создании графики вы выбираете div с идентификатором, как показано здесь:
var chart = c3.generate({
bindto: '#barChart',
...
}
Проблема в том, что при повторном использовании этого компонента генератор c3 попытается найти в вашем HTML идентификатор barChart
. Оказывается, это найти первое, которое уже появляется, а не новое внутри модального.
Чтобы исправить это, я думаю, что @ViewChild
может помочь:
В parent.component.html:
<div #barChart></div>
И в parent.component.ts:
export class ParentComponent implements OnInit {
@ViewChild('barChart') barChart:ElementRef;
...
createChart(){
var chart = c3.generate({
bindto: this.barChart.nativeElement,
...
}
Таким образом, ваш компонент всегда найдет собственную barChart