簡體   English   中英

Angular:將函數傳遞給啞組件

[英]Angular: Passing a function to dumb component

我正在使用Angular和ngrx編寫AWS安全組模塊克隆。 我試圖將一種方法傳遞給啞組件以創建新的安全組。

 ... const schemas: any[] = []; @NgModule({ imports: [ CommonModule ], declarations: [ SecurityGroupsComponent, SecurityGroupsTableComponent, SecurityGroupsListComponent ], schemas: schemas, exports: [SecurityGroupsComponent] }) export class SecurityGroupsModule { } 

 import { Component } from '@angular/core'; @Component({ selector: 'app-security-groups-table', templateUrl: './security-groups-table.component.html', }) export class SecurityGroupsTableComponent { onCreateSecurityGroup() { console.log('Create Security Group'); } } 
 <app-security-groups-list [createSecurityGroup]="onCreateSecurityGroup"></app-security-groups-list> 

 import { Component, Input } from '@angular/core'; @Component({ selector: 'app-security-groups-list', templateUrl: './security-groups-list.component.html', }) export class SecurityGroupsListComponent { @Input() createSecurityGroup: Function; selectSecurityGroup(securityGroupId: string) { this.securityGroupSelected.next(securityGroupId); } } 

當呈現模板時,我會遇到以下異常:無法綁定到“ createSecurityGroup”,因為它不是“ app-security-groups-list”的已知屬性。

我究竟做錯了什么?

似乎您錯過了將SecurityGroupsListComponent添加到NgModule

使用它之前,請確保執行以下步驟:

@NgModule({
  imports: [...],
  declarations: [SecurityGroupsListComponent]
})
  export const DECLARATIONS = [SecurityGroupsComponent,
                         SecurityGroupsTableComponent,
                        SecurityGroupsListComponent]        

接着

    declarations: DECLARATIONS,
    schemas: schemas,
    exports: DECLARATIONS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM