【问题标题】:EventEmitter - Can't bind since it isn't a known property - Angular 8EventEmitter - 无法绑定,因为它不是已知属性 - Angular 8
【发布时间】:2020-03-10 19:01:53
【问题描述】:

我正在尝试使用 eventemitter,但我无法使用它。我对角度很陌生,我不明白发生了什么!对于我在其他帖子中看到的,我做的一切都是正确的! 我试图通过一个组件将一个数组发送到另一个。干预页面将是该数组的负责人和所有者,因此每当此数组发生更改时,我都想将数据导出到同步页面。谁能告诉我我做错了什么?

我收到此错误:

*Uncaught Error: Template parse errors:
Parser Error: Bindings cannot contain assignments at column 9 in [message=$event] in ng:///SyncPageModule/SyncPage.html@40:37 ("

  <ion-card>
      <app-intervention [eventTest]="[ERROR ->]message=$event"></app-intervention>
    <ion-item-divider>
        Acciones Pendientes ({{message}})
"): ng:///SyncPageModule/SyncPage.html@40:37
Can't bind to 'eventTest' since it isn't a known property of 'app-intervention'.*

这是我的代码:

InterventionPage.ts

import { EventEmitter } from 'events';

@Component({
  selector: 'app-intervention',
  templateUrl: './intervention.page.html',
  styleUrls: ['./intervention.page.scss'],
})
export class InterventionPage implements OnInit {

  constructor(private router: Router,
    public alertController: AlertController) { }

  service: any;
  initialDate: string;
  endDate: string;
  initialTime: string;
  endTime: string;
  startingTime: string;
  teste_array: any = [];
  interventions: any = ["test", "teste", "testee"];
  @Output() public eventTest = new EventEmitter();

  sendsData() {
    this.interventions.push("testThroughClick");
    this.eventTest.emit(this.interventions.length);

    console.log("interventions length: ")
    console.log(this.interventions.length);
  }

SyncPage.ts

import { InterventionPage } from '../intervention/intervention.page';


@Component({
  selector: 'app-sync',
  templateUrl: './sync.page.html',
  styleUrls: ['./sync.page.scss'],
})
export class SyncPage implements OnInit {

  services: any = [];
  teste: string;
  teste_array: any = [];
  nr: any;
  public message = "";


  constructor(private interventionsPage: InterventionPage) {
     }

}

SyncPage.HTML

<ion-card>
      <app-intervention [eventTest]="message=$event"></app-intervention>
    <ion-item-divider>
        Acciones Pendientes ({{message}})
    </ion-item-divider>
</ion-card>

【问题讨论】:

    标签: angular angular8


    【解决方案1】:

    改变

    import { EventEmitter } from 'events';

    import { EventEmitter } from '@angular/core';

    和,

    <app-intervention (eventTest)="message=$event"></app-intervention>
    

    【讨论】:

    • 事件发射器是这样的:(eventTest) not [eventTest]
    猜你喜欢
    • 2020-12-19
    • 2019-11-04
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多