angular - 如何使用 EventEmitter 将函数传递给子组件?
问题描述
我有一个父子组件设置,其中子元素上的(点击)事件,我需要调用父方法。我正在尝试 eventEmmiter 但收到此错误:
错误:com.tns.NativeScriptException:找不到模块:“事件”,相对于:app/tns_modules/
代码片段
Parent.component.html
<app-header (thisEvent)="navigate($event)"></app-header>
父组件.ts
import { Component } from "@angular/core";
@Component({
moduleId: module.id,
selector: "app-main",
templateUrl: "./parent.component.html",
styleUrls: ["./parent.component.css"]
})
export class ParentComponent {
naviagte(args){
this.router.navigate(["/"]);
}
}
Child.component.html:
<Button text="Tap" class="btn btn-primary" (tap)="onTap($event)"></label>
Child.component.ts:
import { Component, Input, Output } from "@angular/core";
import { EventEmitter } from "events";
@Component({
selector: "app-header",
moduleId: module.id,
templateUrl: "./child.component.html",
styleUrls: ["./child.component.css"]
})
export class ChildComponent {
@Output()
thisEvent= new EventEmitter();
navigate(args) {
this.thisEvent.emit(null);
}
}
解决方案
应该从不EventEmitter
从导入。@angular/core
events
import { Component, Input, Output, EventEmitter } from "@angular/core";
推荐阅读
- c# - 如何在 C# 上接收单选按钮组的值
- python - Python:下载Zip文件在for循环中一次不起作用
- python - 从 GAE 数据存储中删除数据时出错:AttributeError:'list' object has no attribute 'fetch'
- javascript - 如何将 Jasmine 全局变量设置为来自窗口?
- php - 为什么我在 wordpress 返回帖子中的类别模板不在相关类别中?
- ios - 从用户代理中识别 iOS 设备的好方法是什么?
- c - 未在此范围内声明创建循环
- web-services - 使用 SSIS 中的 Web 服务脚本任务定期触发 Web 服务
- c# - 如何捕获取消长时间运行的延迟 DTF 自定义操作?
- typescript - 打字稿联合类型 - 数组 forEach 错误