Angular 模态问题中的角度沟通父/子

Angular 模态问题中的角度沟通父/子,angular,modal-dialog,vmware-clarity,Angular,Modal Dialog,Vmware Clarity,我还在学习组件之间如何通信,所以我有我的parentView,在它里面有一个与组件的模式,但在我的工作中,他们告诉我将其移动到一个单独的组件 父视图(之前) 但是现在,当我用默认的“x”按钮关闭模态时,我无法重新打开它,当它只是一个组件时,您可以关闭并打开它 我猜这与父母和孩子之间的沟通有关,但我不太确定。据我所知,默认情况下,clarity组件附带的“x”按钮会自动更改值您在这里的选择当然是正确的。我认为你的问题在于: <app-myModal [confirm]="confirm"&g

我还在学习组件之间如何通信,所以我有我的parentView,在它里面有一个与组件的模式,但在我的工作中,他们告诉我将其移动到一个单独的组件

父视图(之前)

但是现在,当我用默认的“x”按钮关闭模态时,我无法重新打开它,当它只是一个组件时,您可以关闭并打开它


我猜这与父母和孩子之间的沟通有关,但我不太确定。据我所知,默认情况下,clarity组件附带的“x”按钮会自动更改值

您在这里的选择当然是正确的。我认为你的问题在于:

<app-myModal [confirm]="confirm"></app-myModal>
然后,使用“香蕉盒子”自动将双向绑定与父级关联:

如果上述内容不足以解决问题,那么也可能是由于您在
clr model
的输出中双向绑定了
confirm
。您可以尝试按如下方式取消绑定关联:

<clr-modal [clrModalOpen]="confirm" (clrModalOpenChange)="confirmChange.emit($event)">
    ///modal Content
</clr-modal>

///模态内容

然后,我希望您的模态视图组件将真正充当实际模态打开状态的传递和父视图
但它仍然不工作,我是否遗漏了什么?可能是因为
组件吗?我不知道它在哪里改变了confirm的值,我只知道它确实改变了it@RicardoSanchezSantos我已经更新了我的答案。请记住,香蕉盒子是双向绑定的,因此
clr modal
会因为使用它而更改
confirm
。不相关,但您可能希望确认您的团队希望您以这种方式将模式移动到其自己的组件,因为我认为将模式内容移动到新组件更合适,结果是,
老实说,这是我的第一种方法,模式起作用了,我可以打开和关闭任意次数,但内容没有显示出来
<clr-modal [(clrModalOpen)]="confirm">
    ///modal Content
</clr-modal>
export class QSubInitialProcessComponent implements OnInit {
    @Input('confirm') confirm: boolean;

    constructor() { }

    ngOnInit() {
    }

}
<app-myModal [confirm]="confirm"></app-myModal>
@Input('confirm') confirm: boolean;
@Output() confirmChange = new EventEmitter<boolean>();
<clr-modal [clrModalOpen]="confirm" (clrModalOpenChange)="confirmChange.emit($event)">
    ///modal Content
</clr-modal>