将文本文件内容刷新为div中的div

时间:2019-02-20 10:08:40

标签: html angular refresh

我在服务器上有一个文本文件,我想每秒使用角度更新在div中显示其内容。我该怎么办?

<div>Update text file here every second</div>

这是我的代码,像这样吗?似乎不起作用

<!DOCTYPE html>
<html>
<body>
<script>

private http: HttpClient;

 let myText: string;

  setInterval(() => { 
      getText();
  }
  ,1000);

  getText() {
    this.http.get("https://my.text.file/textFile.txt", { responseType: "text" }).subscribe(data => {
          this.myText = data;
    });
  }
	document.getElementById("text").innerHTML =
 this.myText(); 
	
	</script>

<div id="text"></div>


<script src="//code.angularjs.org/1.2.20/angular.js"></script>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

setInterval()允许以指定的时间间隔调用函数。

  let myText: string;

  setInterval(() => { 
      getText();
  }
  ,1000);

  getText() {
     this.http.get("http://api.example.com/text_file", { responseType: "text" }).subscribe(data => {
          this.myText = data;
    });
  }

通过在构造函数中添加private http: HttpClient(可以是公共的或私有的),将HttpClient注入到您的组件中。
然后添加一个新方法,我们可以调用getText()
在该方法中,我们调用HttpClient的post方法。
此时需要注意两个重要事项:第一个参数是存储文本文件或访问文本文件的URL。
第二个参数是用于设置某些选项的对象:在这里,我们对HttpClient说,服务器将提供文本而不是JSON(responseType: 'text')
因为HttpClient的get()post()delete()put()方法返回一个Observable,所以我们必须订阅它:因此,我们向该subscribe()方法传递了一个函数(data => {})来获取我们的数据。
该数据必须存储在某个地方,因此,在前面,我们创建了一个名为myText的变量,它是一个字符串变量。
我们使用该变量存储可以在组件视图中显示的数据。

Angular团队提供了tutorial来学习Angular原理,这是一个很好的起点。