2017-10-28 95 views
1

我正在學習角4並試圖製作一個簡單的應用程序。使用矩陣內的函數中的數組4

但是,我卡在一個地方是在AppComponent。我有一個數組,當瀏覽器中輸入文本點擊添加按鈕時,文本被添加到數組中。現在當我點擊提交按鈕時,我想在控制檯中看到數組。

這裏是我的appComponent代碼:

items = []; 
    newItem= ""; 
    convertJSON= function(items){ 
     var arr= items; 
     console.log(arr); 
    } 

所以我在做什麼這裏是與另一個功能的幫助。

我正在填充陣列「項目」在按鈕點擊。現在當我點擊另一個按鈕時,我希望那些數組元素在convertJSON函數內部使用並顯示在控制檯中。

在JS,我們可以使用一個全球數組,但這裏的時候,我做這樣的「取消定義」是表示我的控制檯了。

+1

您還應該向我們展示如何調用'convertJSON'方法。你在那裏傳遞'items'作爲參數嗎? –

+0

雅吧。這就是我最後所缺少的。謝謝。該參數未通過 – UDGogs

回答

0

看起來像是遇到了問題shadowing instance variableitems與本地功能參數items。取決於你如何調用方法(使用參數或不使用)。

嘗試將功能參數重命名爲別的東西:

items = []; 

convertJSON = function(arr){ 
    console.log(arr); 
} 

或者,如果你沒有這個參數傳遞給convertJSON所有,只是省略:

items = []; 

convertJSON = function(){ 
    console.log(items); 
} 
0

事實上,它肯定是由於在使用函數()時會丟失參數或變量陰影。在你的情況下,你應該使用一個類變量items = []並創建一個單獨的函數convertJSON()。

items = []; 

addButton($event) { 
    this.items.push($event.value); 
} 

submit() { 
    convertJSON(this.items); 
} 

convertJSON(array) { 
    console.log(array); 
}