【发布时间】:2019-10-10 00:01:34
【问题描述】:
我有两个角度组件,如果单击第一个中的搜索按钮,则必须显示其中一个。但不幸的是,我所做的代码不起作用,只有当我手动更改布尔值“点击”时才起作用。 任何人都可以帮助我吗?
我的组件的结构是这样的:
src
|app
|components
|FilterBarComponent
|LogTableComponent
FilterBarComponent中搜索按钮的代码:
<button class="btn-search text-center" (click)="buttonStatus =
!buttonStatus">Search</button>
FilterBarComponenet.ts:
export class FilterBarComponent implements OnInit {
buttonStatus: boolean;
constructor(private logsService: HttpClientTestService) {
this.buttonStatus = false;
}
LogsTableComponent.ts:
import { Component, OnInit } from '@angular/core';
import { FilterBarComponent } from './../filter-bar/filter-bar.component';
@Component({
selector: 'app-logs-table',
templateUrl: './logs-table.component.html',
styleUrls: ['./logs-table.component.css']
})
export class LogsTableComponent implements OnInit {
clicked: boolean;
constructor(private filterBar: FilterBarComponent) { }
ngOnInit() {
}
getButtonStatus() {
this.clicked = this.filterBar.buttonStatus;
}
}
LogsTableComponent.html:
<div class="container-fluid p-2" *ngIf="clicked">
【问题讨论】:
-
你的
getButtonStatus()既没有被调用也没有监听变化,考虑使用 observables。 -
我已经读过你的文章(顺便说一句很好),但它总是关于父/子组件,有没有任何通信方式可以在同一结构级别的两个组件之间共享数据?
标签: angular function button click components