typescript - 变量未定义,但为什么呢?
问题描述
由于某种原因,我似乎得到“未定义测试”。我在另一个服务文件中定义了一个与此完全相同的变量。只是想知道为什么它在这个特定的代码中不起作用?
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class OnlineTestService {
// add setters and gettrers according to your usage
constructor(private http: HttpClient) {
var test = "";
this.getJSON().subscribe(data => {
return data;
});
this.getANSWERS().subscribe(data => {
return data;
});
};
questionAnswers(input){
test = input;
};
retrieveAnswers(){
return test;
};
public getJSON(): Observable<any> {
return this.http.get("assets/questions.json");
};
public getANSWERS(): Observable<any> {
return this.http.get("assets/answers.json");
};
}
编辑:
export class RegistrationService {
// add setters and gettrers according to your usage
constructor(){
var name = "";
}
addUser(input){
name = input.name;
}
retrieveUser(){
return name;
}
}
解决方案
您希望 'test' 成为私有对象,而不是构造函数中的 var。您拥有它的方式被设置为无法在其他任何地方读取的局部变量。
推荐阅读
- android - Android - 使用导航抽屉看不到recyclerview
- python - 如何将networkx节点位置转换为python-igraph节点位置(布局)
- mysql - MySql 为另一个表中的每个 id 获取一个字段的 SUM
- javascript - Discord.js:特定类别中的日志通道创建
- python - Pandas Dataframe to CSV 仅获取第一行
- smartcontracts - 与 bsc 上的合约 swapexactethfortokens 交互
- python - 如何将音频发送到谷歌云语音到来自套接字的文本
- php - 根据循环内数据库中保存的数据更改输入背景
- flutter - “对象?”类型的值 不能分配给“地图”类型的变量
'。颤振相关问题 - python - 如何在 Jupyter 笔记本中抑制“input()”的输出?