首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户单击角8(数据服务)时,发射无法工作。

当用户单击角8(数据服务)时,发射无法工作。
EN

Stack Overflow用户
提问于 2020-02-11 03:19:25
回答 2查看 79关注 0票数 0

我正在处理父到子的子输出,子输出将显示在Modal弹出窗口中。

从父母到孩子(首先)工作得很好。数据将与下面相同,因此当用户从第一个子节点单击Department列表时,数据必须在模式窗口中填充

这就是我的尝试modalpopup.ts

代码语言:javascript
复制
      export class ModalPopupTrialTypeComponent implements OnInit {
      public dataSource = new MatTableDataSource<TrialDetails>([]);
      private unsubscribe: Subscription[] = [];
      public columnsToDisplay: string[] = [ 'firstName', 'LastName', 'Address', 'Age', 'Designation', 'Salary'];
      @Input() trailData:EventEmitter<any> = new EventEmitter<any>();

      constructor(private dataService: DataService, private route: ActivatedRoute, private router: Router) { }
         ngOnInit() {

          }
          ngOnDestroy() {
            this.unsubscribe.forEach(sb => sb.unsubscribe());
          }    
      }

这里是我的Html

代码语言:javascript
复制
<table class="nested-table" mat-table [dataSource]="trailData" multiTemplateDataRows matSort>
<ng-container matColumnDef="firstName">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> First Name </th>
     <td mat-cell *matCellDef="let element" > {{element.firstName}}
     </td>
 </ng-container>
 <ng-container matColumnDef="lastName">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Name </th>
     <td mat-cell *matCellDef="let element"> {{element.lastName}}
     </td>
 </ng-container>
 <ng-container matColumnDef="Address">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> Address </th>
     <td mat-cell *matCellDef="let element"> {{element.Address}}
     </td>
 </ng-container>
 <ng-container matColumnDef="Age">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> Age </th>
     <td mat-cell *matCellDef="let element"> {{element.Age}}
     </td>
 </ng-container>
 <ng-container matColumnDef="Designation">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> Designation </th>
     <td mat-cell *matCellDef="let element"> {{element.Designation}}
     </td>
 </ng-container>
 <ng-container matColumnDef="Salary">
     <th mat-header-cell *matHeaderCellDef mat-sort-header> Salary </th>
     <td mat-cell *matCellDef="let element"> {{element.Salary}}
     </td>
 </ng-container>
 <tr mat-header-row *matHeaderRowDef="columnsToDisplay" style="display: none;" ></tr>
 <tr mat-row *matRowDef="let element; columns: columnsToDisplay;" class="example-element-row"
     [class.example-expanded-row]="isExpandedElement === element"
     (click)="isExpandedElement = isExpandedElement === element ? null : element">
 </tr>
 <tr mat-row *matRowDef="let row; columns: ['expanedDetail']" class="example-detail-row">
 </tr>

请让我知道我在这里做什么。

EN

回答 2

Stack Overflow用户

发布于 2020-02-11 04:25:54

这个链接可以让您很好地理解组件交互:

代码语言:javascript
复制
https://angular.io/guide/component-interaction
票数 1
EN

Stack Overflow用户

发布于 2020-02-11 04:15:04

您的组件不会发出,因为EventEmitter@Input指令一起使用,而不是@Output

您应该有一个用于填充表的@Input装饰器和一个用于从子到父发出数据的@Output

例如:

代码语言:javascript
复制
@Input() trailData: TrialDetails;
@Output() emitToParent: EventEmitter<any> = new EventEmitter<any>();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60161522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档