Angular5中HttpClient回调方法使用注入对象方法无效 ?

1.使用angular HttpClient 请求后台数据获取标题,通过@angular/platform/Title 服务的方法设置标题后没有效果,请指教,如何解决?

2.代码片段如下,angular 版本:5.2.0 ,没有报错信息,就是方法调用后没有达到预期

import {Title} from '@angular/platform-browser';
import {HttpClient, HttpErrorResponse, HttpResponse} from '@angular/common/http';

constructor(private titleService: Title) {

 }


 
  ngOnInit() {
    let that = this;
    that.titleService.setTitle("原标题"); //生效
    this.http.get<any>('/api/dingtalk/get-file-title/'+1,{ observe: 'response'}).subscribe(
      (res: HttpResponse<any>) => {
        that.titleService.setTitle("新标题"); //无效
        console.log("success!" ,that.titleService.getTitle())
      },
      (res: HttpErrorResponse) => console.log(res.error)
    );
  }

console.log("success!" ,that.titleService.getTitle()) 输出:
图片描述

但是页面效果:
图片描述

阅读 2.6k
2 个回答

确定请求响应是否正常 走 success 回调

新手上路,请多包涵

找到原因了,不是angular的问题,这个问题只在dingtalk浏览器中出现,需要使用dingtalk 的dd.biz.navigation.setTitle 方法设置标题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进