2016-07-25 8 views
0

Ich möchte Standardwerte festlegen, wenn ein neues Objekt instanziiert wird. Ich habe eine GlobalFunctions-Komponente, die meine globalen Funktionen enthält (Überraschung). Normalerweise würde ich auf diese Weise Komponenten erstellen, aber ich habe keine Ahnung, wie man es in den Modellen erstellt. Das ist, was ich habe jetzt:Wie erhalte ich einen Wert von einer anderen Komponente in meinem Modell?

import { GlobalFunctions } from '../components/shared/GlobalFunctions'; 

export class Order { 
    constructor(private _GF: GlobalFunctions) { } 

    Orderdate = <string>this._GF.getCurrentDate(); 
    DeliveryType = <string>null; 
    ... 
} 

_GF.getCurrentDate() das Datum in DD-MM-YYYY -format zurück.

Wenn ich es so mache, gibt es einen Fehler in der Konsole: error TS2346: Supplied parameters do not match any signature of call target.. Irgendwelche Ideen, um mein Problem zu lösen?

Antwort

0

Sie injizieren Ihre Funktionen, also haben Sie GlobalFunctions in bootstrap(AppComponent, [...]) oder einen Komponenten-Dekorierer @Component({ ... providers: [...]})? :)

+0

habe ich sicherlich. Ich denke, es gibt ein Problem mit der Instanziierung von _GF in den Konstruktorparametern, aber ich weiß nicht, wie ich dieses Problem umgehen kann:/ – Patrick2607

+0

Wo importieren Sie die Order-Klasse? Brauchst du es injizierbar zu sein? – Delosdos

+0

Bestellung ist eine Modellklasse. Wenn ich etwas aus der Datenbank abrufe, sollte es automatisch die Eigenschaften zuordnen. Aber wenn ich ein neues Order-Objekt erstelle, sollte es Standardwerte haben. Im Moment importiere ich es in einer Komponente, wenn ich einen neuen Auftrag erstelle. – Patrick2607

Verwandte Themen