我使用这个代码:Angular 2 http对象变量如何?
private ARRAYDATA: any[];
constructor(private http: Http) {
this.getCards('data.json');
}
getCards(url)
{
this.http.get(url)
.map(response => response.json())
.subscribe(
function(response) {
console.log(response); //show object
},
function(error) { console.log("Error happened" + error)},
function() { console.log("the subscription is completed")}
);
}
此代码的工作,现在我不知道如何传递一个对象响应变量ARRAYDATA
;请帮帮我! 此代码不起作用:
getCards(url)
{
this.http.get(url)
.map(response => response.json())
.subscribe(
function(response) {
console.log(response); //show object
this.arraydata = response;
},
function(error) { console.log("Error happened" + error)},
function() { console.log("the subscription is completed")}
);
console.log(this.arraydata)// show undefind
}
我需要使用一个变量ARRAYDATA功能之外。在这里
constructor(private http: Http) {
this.getCards('data.json');
console.log(this.ARRAYDATA);
}
你需要在这样的条件的时间或使用过滤器复制单个记录它会过滤所有的数据[ – geminiousgoel
可能的复制如何返回从可观察/ HTTP /异步在angular2调用的响应?](http://stackoverflow.com/questions/43055706/how-do-i-return-the-response-from-an-observable-http-async-call-in-angular2) – Alex
你不能访问'ARRAYDATA'在构造函数里面像这样。就像您从副本中看到的一样,数据仅在订阅内可用。事情就是这样,你无能为力。您需要在收到回调后操作回调中的数据:) – Alex