2017-08-13 1 views
1

enter image description hereAngular 4.3 Typeerror eines Feldes in Form zu werfen, die

oben Modell binden, ist die Fehlermeldung, die ich in der Konsole Abschnitt Developer Tool gefunden, wenn der Code ausgeführt wird. Es ist seltsam, dass die Seite wie erwartet funktioniert, aber die Fehlermeldung immer noch auftaucht. Ich habe viele Möglichkeiten ausprobiert, um die Probleme zu identifizieren, aber immer noch kein Glück. Bitte geben Sie einige Tipps zur Lösung dieser Probleme, danke. Mein HTML-Code, der die Fehler in zeigt, ist, wie folgt:

<!doctype html> 
 
<html> 
 
<body> 
 
    <div class="container"> 
 
     <h1>Movie</h1> 
 
     <form (ngSubmit)="onSubmit()" #movieForm="ngForm"> 
 
      <div class="form-group"> 
 
       <label for="title">Title</label> 
 
       <input type="text" class="form-control" id="title" required [(ngModel)]="model.title" name="title"> 
 
      </div> 
 

 
      <button type="submit" class="btn btn-success" [disabled]="!movieForm.form.valid" >Save</button> 
 
     </form> 
 
    </div> 
 
</body> 
 
</html>

Die Winkelkomponente Skript ist wie folgt:

import { Component } from '@angular/core'; 
import { HttpClient } from '@angular/common/http'; 
import { OnInit } from '@angular/core'; 
import { Movie } from './movie'; 

@Component({ 
    selector: 'movie-form', 
    templateUrl: './movie-form.component.html' 
}) 

export class MovieFormComponent implements OnInit{ 
    model: Movie; 

    constructor(private http: HttpClient) { 

    } 

    ngOnInit(): void { 
     this.http.get('http://localhost:3000/api/movie').subscribe(data => { 
      this.model = new Movie(data['title']); 
     }); 
    } 

    submitted = false; 

    onSubmit(){ 
     this.submitted = true; 
     this.http.post('http://localhost:3000/api/movie', { 
       "title": this.model.title 
      }).subscribe(data => { 
     }); 
    } 
} 
+0

Deklariere 'model = new Movie()' in TS. Wie auch immer, Sie müssen 'model' initialisieren, so dass es nicht 'undefiniert' wird, bevor die Antwort eintrifft :) – Alex

+0

Mögliches Duplikat von [Angular 2 Data Binding (Eigenschaft' protaxa \ _usuario 'von undefined nicht lesen)] (https://stackoverflow.com/questions/42581691/angular-2-data-binding-cannot-read-property-proposta-usuario-of-undefined) – Alex

Antwort

0

Ändern Sie Ihre Erklärung als

model = new Movie();