2017-04-21 64 views
0

我試圖通過使用「新」類系統的新的JS語法。值未定義爲參數,但不是函數調用

我有一個商店的數據。當我從這家商店調用一個功能時,它就可以工作。當我作爲參數傳入商店時,商店未定義。這看起來真的很奇怪...

我創建一個Note對象,並希望將它存儲在我的商店對象中。

我的代碼:

class NoteController { 
    constructor() { 
     this.store = new NoteStore(); // Create the store object instance 
    } 

    CreateNote() { // Create a new note and store it 
    // Other stuff.. 

     this.store.AddNote(new Note(title, $("#edtNoteText").val()), this.store); 

     //this.store.AddNote works fine 
     // this.store as a third parameter is undefined! 

     // Other stuff.. 
    } 
} 

在我的筆記對象我有這樣的構造:

class Note { 
    constructor(noteTitle, noteText, noteStore) { 
// Other stuff... 

     this.store = noteStore; // noteStore is undefined 

     // Other stuff... 
    } 

// I also tried store without "this" etc. 

感謝您的幫助!

+0

'this.store'不會被定義爲'undefined',除非'CreateNote'被調用的方式是'this'不會引用'NoteController'實例,或者除非//其他東西包含回調函數。請向我們展示更多關於CreateNote的實現以及它如何被調用。 –

+0

我希望這裏的這個更好:https://pastebin.com/9c0GkTyt – Question3r

回答

0

哦,我真的很抱歉!我寫了this.store.AddNote(new Note(title, $("#edtNoteText").val()), this.store);,但它應該是this.store.AddNote(new Note(title, $("#edtNoteText").val(), this.store)); ...我只知道C#從編譯器獲得幫助:S對不起!

相關問題