Angular 在承诺之后设置标题

Angular 在承诺之后设置标题,angular,angular-promise,Angular,Angular Promise,我正在努力学习英语,所以我刚刚完成了考试 然后我想我应该看看如何更改它,这样我就可以更改每页的文档标题。所以我按照说明添加了 这在我的仪表板页面上运行良好,我可以在init中简单地调用title服务,因此我想尝试将其添加到我的hero details页面,看看是否可以将文档标题设置为Heros name: 从'@angular/core'导入{Component,Input,OnInit}; 从“@angular/platform browser”导入{Title}; 从“@angular/ro

我正在努力学习英语,所以我刚刚完成了考试

然后我想我应该看看如何更改它,这样我就可以更改每页的文档标题。所以我按照说明添加了

这在我的仪表板页面上运行良好,我可以在init中简单地调用title服务,因此我想尝试将其添加到我的hero details页面,看看是否可以将文档标题设置为Heros name:

从'@angular/core'导入{Component,Input,OnInit};
从“@angular/platform browser”导入{Title};
从“@angular/router”导入{ActivatedRoute,Params};
从“@angular/common”导入{Location};
从“../classes/Hero”导入{Hero};
从“../services/hero.service”导入{HeroService};
@组成部分({
选择器:“我的英雄细节”,
templateUrl:“/app/templates/hero details.component.template.html”
})
导出类HeroDetailsComponent实现OnInit{
@输入()
英雄:英雄;
建造师(
私人heroService:heroService,
专用路由:激活的路由,
私人场所:场所,
私人产权服务:产权
) { }
public ngOnInit():void{
this.route.params.forEach((params:params)=>{
设id=+params['id'];
this.heroService.getHero(id)
.then(hero=>this.hero=hero)
.then(function(){this.setTitle(this.hero.name);});//这是我添加的行
});
}
public save():void{
this.heroService.update(this.hero)
.然后(()=>this.goBack());
}
public delete():void{
这是我的服务
.delete(this.hero.id)
.然后(()=>this.goBack());
}
public goBack():void{
console.log('back')
this.location.back();
}
私有setTitle(newTitle:string){
this.titleService.setTitle(newTitle);
}
}
正如您可以从我的代码中看到的,我正在尝试在设定英雄的承诺生效后设置标题。然而,似乎什么也没有发生——没有抛出错误,标题也没有更改

我做错了什么?我会不会像那样把承诺拴起来?

改变

.then(function () { this.setTitle(this.hero.name); });

要保留


另请参见

Wow,当您知道时,它是如此简单!当它允许我回答时,我会接受的
.then(() => { this.setTitle(this.hero.name); });