如何使用(单击)函数将字符串从HTML传递到Angular 8上的组件?

如何使用(单击)函数将字符串从HTML传递到Angular 8上的组件?,angular,angular8,page-title,Angular,Angular8,Page Title,我有这个代码,它工作得很好: 但是现在我需要在点击链接时更新页面标题 我在组件上添加了一个setTitle方法: publicsettitle(newTitle:string){ this.titleService.setTitle(newTitle); } 使用(单击)功能,我可以更新页面标题,它工作正常: 但是如何传递变量menuItemOneStr,而不是使用字符串“菜单项一” 我试过: 但它不起作用。有什么想法吗?您可以通过setTitle方法订阅 public setTi

我有这个代码,它工作得很好:


但是现在我需要在点击链接时更新页面标题

我在组件上添加了一个
setTitle
方法:

publicsettitle(newTitle:string){
this.titleService.setTitle(newTitle);
}
使用
(单击)
功能,我可以更新页面标题,它工作正常:


但是如何传递变量
menuItemOneStr
,而不是使用字符串
“菜单项一”

我试过:



但它不起作用。有什么想法吗?

您可以通过
setTitle
方法订阅

public setTitle(key: string) {
    // key = menuItemOneStr, menuItemTwoStr, etc.
    this.strings$.subscribe((stringsObject: object) => {
        this.titleService.setTitle(stringsObject[key]);
    })
}
在你的HTML中

<a [routerLink]="['/menuItemOne']" (click)="setTitle('menuItemOneStr')">
    <span [innerHTML]="(strings$ | async)?.menuItemOneStr | htmlToText"></span>
</a>

您可以通过
setTitle
方法订阅它

public setTitle(key: string) {
    // key = menuItemOneStr, menuItemTwoStr, etc.
    this.strings$.subscribe((stringsObject: object) => {
        this.titleService.setTitle(stringsObject[key]);
    })
}
在你的HTML中

<a [routerLink]="['/menuItemOne']" (click)="setTitle('menuItemOneStr')">
    <span [innerHTML]="(strings$ | async)?.menuItemOneStr | htmlToText"></span>
</a>

成功了!非常感谢你的帮助和很好的解释。有什么好书或课程可以推荐给我吗?或者,除了练习,哪一种是最好的学习方式?非常感谢你!我对Angular还是很陌生,但你可以用我用过的东西。很多时候,它是从Angular进行实验和阅读文档的。它成功了!非常感谢你的帮助和很好的解释。有什么好书或课程可以推荐给我吗?或者,除了练习,哪一种是最好的学习方式?非常感谢你!我对Angular还是很陌生,但你可以用我用过的东西。很多时候,它是在实验和阅读来自Angular的文档。