Опубликовать данные в формате json нажатием кнопки Angular

#angular #angular6 #angular7

#angular #angular6 #angular7

Вопрос:

Я хочу публиковать данные в формате json при нажатии кнопки из файла typescript

Это файл typescript

 {
            type: 'button',
            id: 'save',
            className: 'btn btn-primary save-template',
            events: {
                click: evt => {
                    _this.save();
                  (<any>config).opts.onSave(evt, _this.data.formData);

                  this.formData = new FormData();
                  this.formData.append("Form", JSON.stringify(_this.data.formData));
                  this.dataService.addItem(this.formData).subscribe(
                    data => {

                    });
                }
            }
        }].concat(options.actionButtons);
  

Вот мой сервис

  addItem(data: FormData) {
    const postForm = new HttpRequest('POST', `${this.API_URL}/FormTemplates/PostFormTemplate`, data, {
      reportProgress: true
    });
    return this.httpClient.request(postForm);
  }
  

Ошибка, с которой я столкнулся, заключается в том, что не удается прочитать свойство ‘addItem’ неопределенного

Редактировать

 save(stage = null) {
        let _this = this;
        let data = this.data;
        if (!stage) {
            stage = this.d.stage;
        }
        let doSave = {
            xml: () => _this.xmlSave(stage),
            json: () =>
                (<any>window).JSON.stringify(_this.prepData(stage), null, 't')
        };

        // save action for current `dataType`
        data.formData = doSave[(<any>config).opts.dataType](stage);

        // trigger formSaved event
      document.dispatchEvent(events.formSaved);
      return data.formData;
    }
  

Комментарии:

1. Я думаю, что в контексте, в котором вы используете this ключевое слово, нет dataService . Подумайте о сохранении this перед его использованием (например, const that = this; )

2. Внедряете ли вы dataService в свой компонент. Пожалуйста, опубликуйте более полный пример кода

3. @ashish.gd Да, я внедрил сервис в comonent

4. Было бы полезно, если бы вы могли поделиться более полным примером кода.

5. @ashish.gd _this.data.FormData здесь я получил данные формы json, но при попытке вызвать службу я получил ошибку, о которой я упоминал