gpt4 book ai didi

Angular 2 监听组件内部的自定义事件

转载 作者:行者123 更新时间:2023-12-05 05:22:13 27 4
gpt4 key购买 nike

我打算做的是创建一个自定义事件,我将在创建的同一组件中监听该事件;

events.component.ts

    @Component({
moduleId: module.id.replace("/dist/", "/"),
selector: 'event-bind-c',
template:`
<button (click)="onClicked()">Component click</button>
<input (clicked)="showIt($event)" [placeholder]="emitted_val">
`
})
export class EventBindingComponent implements OnInit {
toggled_value:boolean = false;
emitted_val:string;

constructor() { }

ngOnInit() { }

@Output() clicked = new EventEmitter<string>();
onClicked = () => {
//alert("Inside of component");
this.clicked.emit("It works!");
}

showIt = (event_val:string) => {
alert("event_val:" + event_val);
this.emitted_val = event_val;
}
}

如果我在组件外部(在父组件中)使用它,它会起作用

app.component.ts

@Component({
selector: 'my-app',
template: '<event-bind-c (clicked) = "onParentClicked($event)"></event-bind-c>',
})
export class AppComponent {
onParentClicked= (value:string) => {
alert("Outside of component "+value);
}
}

最佳答案

不支持。

只有父组件可以绑定(bind)到 @Output()

发出的事件

为什么不直接调用 this.showIt() 而不是触发事件?

关于Angular 2 监听组件内部的自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com