如何在angular 2中的成功消息后刷新页面

如何在angular 2中的成功消息后刷新页面,angular,Angular,我一直在尝试显示成功消息,并在执行操作后刷新我的页面。比如说,当我执行删除操作时,来自后端的响应应该显示在页面上,然后刷新。请问我该怎么办 reloadGame() { this.gameService.getAllGames().subscribe(data => { console.log(data) }) } removeGame(game) { this.httpService.deleteGame(game.id).subscribe(data =

我一直在尝试显示成功消息,并在执行操作后刷新我的页面。比如说,当我执行删除操作时,来自后端的响应应该显示在页面上,然后刷新。请问我该怎么办

reloadGame() {
   this.gameService.getAllGames().subscribe(data => {
      console.log(data)
   })
}

removeGame(game) {
   this.httpService.deleteGame(game.id).subscribe(data => {
      this.reloadGame()
   })
}
您需要将服务返回的响应设置为绑定到HTML的变量

reloadGame(){
 this.gameService.getAllGames()
  .subscribe(data => {
    this.Games = data;       <== You have not set the response to your Games array
    });
}
reloadGame(){
这个.gameService.getAllGames()
.订阅(数据=>{

this.Games=data;您可以让一个消息字符串在subscribe中将消息分配给它,然后在subscribe of reloadGame()中再次将其设置为null

和html格式

<div *ngIf="message" class="success">{{message}}<div>
{{message}

我知道你发这个问题已经很久了,但我希望这能帮助其他需要同样解决方案的人……无论如何

只需放入javascript代码,如location.reload(); 或者,如果要使用角度样式,只需将此.ngOnInit();放在要重新加载/刷新的页面的ts文件上

reloadGame() {
   this.gameService.getAllGames().subscribe(data => {
       console.log(data)
       location.reload();  //Add this line to your code option 1
       this.ngOnInit();    //or you could add this also as option 2 instead using option 1
   })
}

removeGame(game) {
   this.httpService.deleteGame(game.id).subscribe(data => {
       this.reloadGame()
   })
}

此代码有什么问题?发布错误/问题“刷新页面”的确切含义是什么?是否要触发硬页面重新加载(例如,当您点击浏览器重新加载按钮时)?或者只是清除一条状态消息?@AliBaig,控制台中没有错误,但在我删除一个游戏后,我希望页面显示来自后端的响应,并刷新页面。我正在尝试使用重新加载游戏功能刷新。成功响应也会在控制台中正确显示,但不会在页面上显示您的页面代码!T对我来说,他的似乎没问题!@AngularFrance,我不知道我说的重新加载是否有足够的意义,但很显然,当我执行删除操作时,我希望页面刷新或让我说更新。在我删除后,它不会刷新以显示更新,而是我必须在看到更改之前点击浏览器重新加载。你尝试过上面提到的更改吗上面?您确定服务
this.gameService.getAllGames()
正在返回更新的结果?您的服务返回的是什么,字符串还是对象?请参阅此处订阅和发布中的
数据。当我查看浏览器的“网络”选项卡时,我看到删除操作已完成,并且在取回游戏后。但在按下“重新加载”按钮之前,我的页面不会刷新。您还可以放置some将消息分配给null之前的延迟
<div *ngIf="message" class="success">{{message}}<div>
reloadGame() {
   this.gameService.getAllGames().subscribe(data => {
       console.log(data)
       location.reload();  //Add this line to your code option 1
       this.ngOnInit();    //or you could add this also as option 2 instead using option 1
   })
}

removeGame(game) {
   this.httpService.deleteGame(game.id).subscribe(data => {
       this.reloadGame()
   })
}