Javascript 角度8组件更改和ngOnInit调用
我在一个主组件中有两个组件。都具有带有输入字段和跨距元素的窗体。设置用户使用“编辑”按钮编辑表单或使用“取消”按钮取消编辑。 因此,每当用户更改选项卡而不单击“取消”时,我需要取消“编辑状态关闭”。意味着一旦组件被更改或调用,就需要触发事件以使ecit状态为假。我什么都还没有得到。这似乎是个简单的问题 结构如下图所示Javascript 角度8组件更改和ngOnInit调用,javascript,angular,typescript,angular8,Javascript,Angular,Typescript,Angular8,我在一个主组件中有两个组件。都具有带有输入字段和跨距元素的窗体。设置用户使用“编辑”按钮编辑表单或使用“取消”按钮取消编辑。 因此,每当用户更改选项卡而不单击“取消”时,我需要取消“编辑状态关闭”。意味着一旦组件被更改或调用,就需要触发事件以使ecit状态为假。我什么都还没有得到。这似乎是个简单的问题 结构如下图所示 <accordion [isAnimated]="true"> <accordion-group heading="Basic Details">
<accordion [isAnimated]="true">
<accordion-group heading="Basic Details">
<div class="profiletab_detail_wrp">
<app-basic-details></app-basic-details>
</div>
</accordion-group>
<accordion-group heading="Address Details">
<div class="profiletab_detail_wrp">
<app-address-details></app-address-details>
</div>
</accordion-group>
Ngx引导手风琴有一个名为isOpenChange的事件,每当手风琴被切换时就会被触发。所以,试试这样吧 HTML
您正在使用哪个库生成手风琴组?当前正在使用ngx引导5.2.0我已经修改了ngx引导的答案,请再试一次。@SandyB ngOnInit仅在组件第一次呈现时,或者当它被销毁并再次创建时才会被调用。与上述解决方案一起,您可以使用输入和输出装饰器来进行父级->子级/子级->父级通信。还可以使用ngOnSimpleChanges来监视输入的状态更改。或者,如果没有任何帮助,请创建一个stackblitz来纠正此问题。我将在实现“ngOnSimpleChanges”、输入和输出装饰器后对其进行更新。我已经实现了输入装饰器,并在ngonchanges中接收输入,现在它可以工作了。现在,每当用户在不取消编辑状态的情况下转到另一个选项卡,并返回到相同的零部件编辑状态时,都将关闭。但它只起作用一次。我不能重复这个过程。第二次没有电话进入ngOnChanges。现在我只做了父母->孩子。我想我还需要子->父事件。让我知道你的想法和想法queries@SandyB你能用最少的代码快速创建一个stackblitz来描述现在发生的问题吗?我相信,这件事可以在几分钟内解决。
<accordion [closeOthers]="oneAtATime"
<accordion-group heading="Basic Details" (isOpenChange)="onBasicInfoToggle($event)">
<div class="profiletab_detail_wrp">
<app-basic-details></app-basic-details>
</div>
</accordion-group>
<accordion>
onBasicInfoToggle(event) {
// Turn of the edit mode maybe like
if(event === 'closed') {
this.editMode = false;
}
}