我需要更改视图ItemsPanelComponent的标题titleItemPanel,这取决于editItem()在ItemsPageComponent中应用的操作。但是,我有嵌套的组件:ItemsPageComponent -> ItemsMapComponent -> ItemsPanelComponent。事件getItemPanelTitle由子节点(ItemsPanelComponent)发出,此事件应由祖节点(ItemsPageComponent)接收。此事件应传递给父级(ItemsMapComponent),并且必须将其传递给祖级(ItemsPageComponent)。
ItemsPageComponent:
export class ItemsPageComponent {
@Output() isTitleCreateItem = new EventEmitter<boolean>();
editItem(itemId: string, event) {
...
this.isTitleCreateItem = !this.isTitleCreateItem;
} <button md-icon-button
(click)="editItem(item.id, $event)">
<md-icon>mode_edit</md-icon>
</button>
ItemsPanelComponent:
export class ItemsPanelComponent {
public titleItemPanel: string;
...
getItemPanelTitle(event: boolean) {
this.titleItemPanel = event ? 'Create' : 'Edit';
}
}<h4 (isTitleCreateItem)="getItemPanelTitle($event)" class="panel__title">
{{titleItemPanel}}
</h4>
发布于 2019-03-29 16:01:55
如果想要在导航器中更改文档的“标题”,请使用Title
public constructor(private titleService: Title ) { }
public setTitle( newTitle: string) {
this.titleService.setTitle( newTitle );
}发布于 2019-03-29 14:57:03
试试这个:
ItemsPanelComponent:
export class ItemsPanelComponent {
this.title;
get itemsPanelTitle() {
this.title= this.isCreateItem ? 'Create' : 'Edit';
}
}
<h4 class="panel__title">{{title}}</h4>这对我很有效。
https://stackoverflow.com/questions/55411751
复制相似问题