Ich erstelle eine sehr einfache Angular 2-Anwendung mit dem Zweck der CRUD-Produkte. Ich habe eine CreateProductComponent, aber ich habe Probleme beim Instanziieren des Modells, das ich in meiner Ansicht verwenden möchte. Ich erhalte diese Fehlermeldung:How to instanziate Modell Angular 2
Dies ist mein Code:
create-product.component.ts
import { Component, OnInit } from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';
import { Product } from '../product'
import { ProductService } from '../product.service'
@Component({
moduleId: module.id,
selector: 'app-create-product',
templateUrl: 'create-product.html',
styleUrls: ['create-product.css'],
})
export class CreateProductComponent {
model: new Product(1,'2',1); <- error on this line
constructor(private productService: ProductService) { }
addProduct() {
//this.productService.addProduct(this.product);
}
}
product.ts
export class Product {
constructor(
public ID: number,
public Name: string,
public Price: number
) { }
}
Idealer Ich möchte ein leeres Produkt oder ein Produkt mit defaul Werten erstellen, so dass, wenn Ein Formular in der Ansicht wird mit den Produktdaten gefüllt, diese Daten werden an das Produkt weitergegeben. Weiß jemand, wie man das löst?
Danke, es funktioniert! Aber sollte ich das Produkt mit diesen bedeutungslosen Werten instanziieren? Wenn ich im Backend programmieren würde, würde ich ein leeres Produkt erstellen (var product = new Product();) und dann würde ich die vom Benutzer gesendeten Werte zuweisen (product.name = name; product.price = price). Wie kann ich das in diesem Fall tun? –
@ JoãoPaiva, kein Problem - glücklich zu helfen. Ich würde persönlich mit der zweiten Option gehen, die ich gepostet habe. 'model: Product', erhalten Sie eine Eigenschaft, die einen definierten Typ hat, und Sie können leicht überprüfen, ob es null ist, indem Sie Standard-JavaScript-Ausdrücke verwenden. –