вы можете поместить переменную, которая может использоваться глобально в Сервисе, и использовать ее для отключения и включения кнопки. то есть, когда вы хотите отключить кнопку, вы можете сделать переменную 'true' в ngOninit этого компонента.
Пример кода service.ts
import { Injectable } from '@angular/core';
@Injectable()
export class dataService {
showbutton: boolean = true;}
образец кода component_1.ts
import { Component, OnInit} from '@angular/core';
import { dataService } from '../service/data.service';
@Component( {
selector: 'app-component_1',
templateUrl: './component_1.component.html',
styleUrls: ['./component_1.component.css']
} )
export class component_1 {
constructor( public bookmarkRoot: dataService, private router: Router){}
ngOnInit() {
this.bookmarkRoot.showbutton=false //hide/disable button
}
}
образец кода component_2.ts
import { Component, OnInit } from '@angular/core';
import { dataService } from '../service/data.service';
@Component( {
selector: 'app-component_2',
templateUrl: './component_2.component.html',
styleUrls: ['./component_2.component.css']
} )
export class component_2 {
constructor( public bookmarkRoot: dataService, private router: Router){}
ngOnInit() {
this.bookmarkRoot.showbutton=true//hide/disable button
}
}
заголовок HTML
<header>
<div class="container">
<button mat-fab class="mat-success" [mdePopoverTriggerFor]="appPopover" mdePopoverTriggerOn="click" mdePopoverPositionX="before" [disable]="bookmarkRoot.showbutton">+</button>
<mde-popover #appPopover="mdePopover" [mdePopoverOverlapTrigger]="false" [mdePopoverCloseOnClick]="true">
<app-reports-list></app-reports-list>
</mde-popover>
</div>
</header>
Вы также должны импортировать dataservice в header.component. Вы можете найти, как использовать сервис для связи между компонентами только из потока стеков