1

我在這裏有一些問題,我使用Angular2和Nativescript的本地JS的混合使用HTTP,因爲在此實現之前我遇到了Angular2 HTTP的問題,但是我對如何將來自http請求的JSON響應放到monthList變量中感到沮喪,因此可以在整個地方讀取它。請幫助,謝謝。Nativescript:如何將HTTP值存儲到公共變量

這裏是我的代碼:

public monthList = []; 


    constructor(location: Location, private page: Page, private router: Router, private testing: any) { 
     this.router = router; 
     this.testing = testing; 
     let http = require("http"); 


     http.getJSON("link") 
      .then(function (r) { 
       // Argument (r) is JSON! 
      }, function (e) { 
       // Argument (e) is Error! 
       console.log(e); 
      }); 

    } 

回答

0

有沒有你正在運行到一個特定的問題?我認爲它的那樣簡單:

class SomeAngularClass { 
    constructor() { 
    http.getJSON("link") 
     .then(function(r) { 
     this.monthList.push(r); 
     }, function (e) { 
     console.log(e); 
     }); 
    } 
} 

然後你可以通過訪問:

SomeAngularClass().monthList; 
+0

大部分控制檯返回uncaught在諾言類型的錯誤...然後顯示只在android模擬器空白... –

1

裏面你。然後您將返回對象到您monthList

this.monthList = r; 

嘗試做一個console.dump(r)並查看返回的內容。你可能不得不做一些像r.xxx或者它的結構。

那麼你也許可以這樣做

this.monthList.month 

並訪問該月的數據等等。或者你也許有做這樣

this.monthList[0].month. 

東西舉例來說,在我的項目,我有一個JSON對象回來是嵌套,我需要將其設置爲類似r.value.data。

+0

會稍後嘗試...但我想我以前試過,但沒有工作...只是一個提醒...這是一個要求在nativescript的angular2裏面...... :) –