Не удается прочитать свойство ‘builder’ неопределенной проблемы

#html #angular #typescript

#HTML #angular #typescript

Вопрос:

вот мой код…

custom_formio.component.ts

 import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { FormioAuthService } from 'angular-formio/auth';
import { Formio } from 'formiojs';
import {  SelectComponent } from './Select';

@Component({
  selector: 'app-custom_formio',
  templateUrl: './custom_formio.component.html',
  styleUrls: ['./custom_formio.component.less']
})

export class CustomFormioComponent  {
  builder: any;
  title = 'app';
  offlineCount = 0;
  offlineMode: any = null;
  offlineError = '';
  constructor(private auth: FormioAuthService, private router: Router) {
    this.auth.onLogin.subscribe(() => {
      this.router.navigate(['/home']);
    });

    this.auth.onLogout.subscribe(() => {
      this.router.navigate(['/auth/login']);
    });

    this.auth.onRegister.subscribe(() => {
      this.router.navigate(['/home']); 
    });
    Formio.registerComponent('custom_formio', SelectComponent);
  }

}  

В этом SelectComponent находится мой пользовательский компонент formio, созданный в Select.js это будет доступно по адресу https://formio.github.io/formio.js/docs/file/src/components/select/Select.js.html#lineNumber36 и к этому я добавил некоторый код, подобный приведенному ниже..

    // Use the table component edit form.
SelectComponent.editForm = TableComponent.editForm;

// Register the component to the Formio.Components registry.
Components.addComponent('custom_formio', SelectComponent);
Formio.builder(document.getElementById('builder'), {}, {
  builder: {
    basic: false,
    advanced: false,
    data: false,
    layout: false,
    customBasic: {
      title: 'Basic Components',
      default: true,
      weight: 0,
      components: {
        select: true
      }
    }
  }
}).then(function(builder) {
  Formio.createForm(document.getElementById('formio'), {}).then(function(instance) {
    var json = document.getElementById('json');
    instance.on('change', function() {
      json.innerHTML = '';
      json.appendChild(document.createTextNode(JSON.stringify(instance.submission, null, 4)));
    });
    builder.on('change', function(schema) {
      if (schema.components) {
        instance.form = schema;
      }
    });
  });
});  

теперь я хочу отобразить это в html как идентификатор, для этого я был создан в конце приведенного выше кода, такого как Formio.builder(document.getElementById(‘builder’), {},{}
в html я называю этот идентификатор как …

                  <div id="builder"></div>   

но я получаю не удается прочитать свойство ‘builder’ неопределенное .. может кто-нибудь подсказать, как это решить….