#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, но при попытке вызвать службу я получил ошибку, о которой я упоминал