Я работаю над угловым проектом, когда добавляю новую строку в таблицу, я получаю правильные данные в своей службе, но в таблице они отображаются 2 раза.
Выше мой умный код таблицы.
<ng2-smart-table [settings]="settings" [source]="source" (createConfirm)="onCreateConfirm($event)">
</ng2-smart-table>
Ниже приведена функция сохранения.
add: {
addButtonContent: '<i class="nb-plus"></i>',
createButtonContent: '<i class="nb-checkmark"></i>',
cancelButtonContent: '<i class="nb-close"></i>',
confirmCreate: true,
},
onCreateConfirm(event): void {
if (window.confirm('Are you sure you want to create?')) {
event.newData['name'] += ' + added in code';
event.confirm.resolve(event.newData);
CoursesService.addNewCourse(event.newData);
} else {
event.confirm.reject();
}
}
}
Функция addNewCourse в сервисе выглядит следующим образом:
static addNewCourse(data)
{
this.coursedata.push(data);
console.log(this.coursedata);
}
В данных курса я получаю данные только один раз, а в таблице они отображаются 2 раза.
любая помощь?
event.confirm.resolve(event.newData)
добавляет данные в таблицу, а ваш CoursesService добавляет новые данные в вашу таблицу. - person SplitterAlex   schedule 09.02.2018mode
со значения по умолчаниюinline
наexternal
. Описание: Определяет, как реагировать на ссылки действий (Добавить, Изменить, Удалить). «внешний» - просто инициируйте события (ССЫЛКА ЗДЕСЬ). 'inline' - обрабатывать внутри, показывать формы/вводы/и т. д. Поэтому, если вы установите для параметра значениеexternal
, будут применяться только ваши изменения из вашей выделенной службы. - person SplitterAlex   schedule 09.02.2018