gpt4 book ai didi

javascript - 从结构指令向父组件发射事件不起作用

转载 作者:太空狗 更新时间:2023-10-29 18:08:19 25 4
gpt4 key购买 nike

作为问题的跟进:Emit event from Directive to Parent element : Angular2

看起来当结构指令发出事件时,父组件没有接收到它。

@Directive({ selector: '[appWidget]' })
export class WidgetDirective implements OnInit{
@Output() wdgInit: EventEmitter<any> = new EventEmitter();
@Input() set appWidget (wdg: any) {
//display stuff
}
ngOnInit {
this.wdgInit.emit();
}

小部件.component.html:

  <ng-container *ngFor="let wdg of widgets">      
<div *appTwitterWidget="wdg" >
<ng-container>

widgetContainer.component.html:

 <app-widget [widgets]="widgetList" (wdgInit)="containerDoSomthing()"></app-widget>

在这种情况下,我发现 containerDoSomthing() 从未被调用过。

最佳答案

这是可能的。问题是当前的 Angular 5.2.6 仍然不支持结构指令的 @Output 绑定(bind),如果与问题中的加糖星号 (*) 语法(参见 GitHub issue)一起使用。

要使其正常工作,您必须将其转换为脱糖形式 (see here),如下所示:

<ng-template [appWidget]="wdg" (wdgInit)="containerDoSomthing($event)"></ng-template>

关于javascript - 从结构指令向父组件发射事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44235638/

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