Hi,
ich versuche mich an einer sehr simplen Anwendung mit Javascript. Dabei speichere ich Objekte bei deren Erzeugung in einem Array in einem "Store" ab. Dieses Objekt bekommt den Store zusätzlich als Parameter übergeben, damit es sich selbst aus dem Store rauslöschen kann, falls gewollt.
Der übergebene Parameter ist dabei aber undefiniert.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
// controller.CreateNote(); wird aufgerufen
//-------------------------------------------------------
class NoteController { // Die Controller Klasse
constructor() {
this.store = new NoteStore(); // Instanz vom Store
}
CreateNote() {
var title = $("#edtNoteTitle").val(); // Titel des Objektes
if (title.length < 1) // Titel ist leer
return;
else if ($.inArray(title, this.store.notes.map(n => n.title)) >= 0) // Titel existiert bereits
return;
this.store.AddNote(new Note(title, $("#edtNoteText").val()), this.store); // Objekt erzeugen und dem Store hinzufügen
}
}
//-------------------------------------------------------
class NoteStore { // Datenklasse
constructor() {
this.notes = []; // Objektsammlung
}
AddNote(note) {
this.notes.push(note); // Objekt hinzufügen
}
}
//-------------------------------------------------------
class Note { // Das einzelne Objekt
constructor(noteTitle, noteText, noteStore) {
this.title = noteTitle; // Titel
this.text = noteText; // Text
this.store = noteStore; // Speicher
}
}
|
In der Zeile
|
Quellcode
|
1
|
this.store.AddNote(new Note(title, $("#edtNoteText").val()), this.store);
|
ist die erste Nutzung von
|
Quellcode
|
1
|
this.store
|
gültig, danach ist der dritte Parameter undefiniert. Könnte mir ein Webspezialist da aushelfen?