Как сделать данные в машинописном виде?

#html #angular #database #typescript #crud

Вопрос:

В настоящее время я пытаюсь создать функцию создания, но есть некоторые проблемы.

Поэтому сначала я ввел данные в файл .html.

 lt;ng-template #formFieldTemplate let-form="form" let-field="field" let-label="label" let-fullwidth="fullwidth ?? true"gt;  lt;mat-form-field [class.fullwidth]="fullwidth" [formGroup]=form *ngIf="form.get(field) as _field" appearance="fill"gt;  lt;mat-labelgt;{{label ?? field}}lt;/mat-labelgt;  lt;input [id]="field" matInput type="text" [formControlName]="field"gt;  lt;/mat-form-fieldgt; lt;/ng-templategt;  lt;form [formGroup]="newquoteform" (ngSubmit)="submitquote()" gt;  lt;table mat-table [dataSource]="quotes | keyvalue" class="mat-elevation-z8" style="width: 100%;"gt;  lt;ng-container matColumnDef="quote"gt;  lt;th mat-header-cell *matHeaderCellDefgt; quote lt;/thgt;  lt;td mat-footer-cell *matFooterCellDefgt;  lt;ng-container *ngTemplateOutlet="formFieldTemplate;context:{form: newquoteform, field: 'quote'}"gt;lt;/ng-containergt;  lt;/tdgt;  lt;/ng-containergt;  lt;ng-container matColumnDef="Delete"gt;  lt;th mat-header-cell *matHeaderCellDefgt;lt;/thgt;  lt;td mat-footer-cell *matFooterCellDefgt;  lt;button mat-icon-button class="small colored accent"gt;  lt;mat-icongt;addlt;/mat-icongt;  lt;/buttongt;  lt;/tdgt;  lt;/ng-containergt;  lt;tr mat-header-row *matHeaderRowDef="columns"gt;lt;/trgt;  lt;tr mat-row *matRowDef="let row; columns: columns;"gt;lt;/trgt;  lt;tr mat-footer-row *matFooterRowDef="columns"gt;lt;/trgt; lt;/tablegt; lt;/formgt;  

Затем я создал файл .ts с функцией, которая будет реагировать на него:

 submitquote() {  const quote = this.newquoteform.value as quote  const quoteIDs = Object.keys(this.quotes);  let id = (quote.quote).replace(/s/g, "")    if (quoteIDs.indexOf(id) !== -1) {  let i = 2;  while (quoteIDs.indexOf(id   i) !== -1) i  ;  id = id   i;  }    this.quotes[id] = quote;  this.quotes = {...this.quotes}    this.newquoteform.reset();  }  

Также в том же файле я поместил:

 public quotes !: Recordlt;string, quotegt;; public columns = ['quote','Delete']; public newquoteform = new FormGroup({  quote: new FormControl(null, Validators.required)  })  

Предполагается, что это создаст новую цитату, но это не работает, потому что функция пытается использовать ключи из всех цитат, чтобы создать новый идентификатор для новой цитаты, но предыдущих цитат нет.

Поэтому я попытался сделать что-то такое, чтобы уже была цитата, прежде чем я вообще что-то сделаю.

This is the .ts file that makes me the interface quote and i tried to make it so that it has two quotes already:

 interface QuoteData {  quote : string; }  export interface quote extends QuoteData{  "quote1": string, "quote2": string }  

Но после того, как я использую npm, создайте его, и он сделает dist/quote.js файл(это файл, связанный с сервером), он ничего не вносит в базу данных.

Файл quote.js:

 "use strict"; Object.defineProperty(exports, "__esModule", { value: true });  

Есть какие-нибудь идеи, которые я могу использовать, чтобы сделать так, чтобы всегда была цитата?