Anglar Forms, нужно несколько простых примеров - PullRequest
0 голосов
/ 21 апреля 2020

Многие официальные учебники, которые я вижу, кажутся слишком надежными.

У меня есть класс пользователя со строками "name" и "password".

Мне нужна форма, которая принимает пользовательский ввод из этих двух и записывает его в объект.

Затем отправка его в таблицу в базе данных.

Я новичок в Angular, я не думал, что такой простой формы были бы такими сложными.

1 Ответ

2 голосов
/ 21 апреля 2020

Вот пример Stackblitz .

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports:      [ BrowserModule, ReactiveFormsModule, HttpClientModule ],
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ],
})
export class AppModule { }

app.component.ts

import { Component } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
import { AuthService } from './auth.service';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
})
export class AppComponent  {

  constructor(private authService: AuthService){}

  fg = new FormGroup({
    name: new FormControl(),
    password: new FormControl()
  })

  onSubmit(){
    this.authService.login(this.fg.value).subscribe();
  }
}

app. компонент. html

<form (ngSubmit)="onSubmit()" [formGroup]="fg">
    <div>
        <label for="username">Username</label>
        <input id="username" type="text" formControlName="name">
  </div>
  <div>
    <label for="password">Password</label>
    <input id="password" type="password" formControlName="password">
  </div>
  <button>Login</button>
</form>

auth.service.ts

import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";

@Injectable({ providedIn: "root" })
export class AuthService {
  constructor(private httpClient: HttpClient) {}
  login(data: any) {
    return this.httpClient.post("your url", data);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...