使用Angular4打开/加载文件

时间:2017-10-18 15:41:03

标签: angular typescript svg

我有一个角度4的应用程序,在这一个,我想打开/加载一个svg文件,让里面的字符串。 所以我想打开像svg或txt这样的文件并获取相应的字符串。

我尝试这样做:

this.http.get('assets/images/module.svg').map(res => res.text()).subscribe(text => {this.data = text});

this.data总是未定义,而如果我这样做:

this.http.get('assets/images/module.svg').map(res => res.text()).subscribe(text => {console.log(text)});

我在控制台中有字符串。

您知道为什么我无法获取字符串或者是否有其他方法可以打开文件?

1 个答案:

答案 0 :(得分:1)

我猜你正在尝试这样的事情

this.http.get('assets/images/module.svg').map(res => res.text()).subscribe(text => this.data = text);

console.log(this.data);
  

第一个呼叫是async呼叫,因此需要一些时间来获取数据   并将其分配给变量,其中console.logsync   立即发生的陈述,因此你得到了不确定。

如果您想使用this.data,我建议您在订阅中执行所有过程。

例如

   this.http.get('assets/images/module.svg').map(res => res.text()).subscribe(text => { this.data = text; console.log(this.data));