Javascript 更新子组件时的StencilJS事件
如果我在StencilJS中有这样的东西Javascript 更新子组件时的StencilJS事件,javascript,stenciljs,Javascript,Stenciljs,如果我在StencilJS中有这样的东西 <mycomponent> <my-other-compoent></my-other-compoennt> </mycomponent> 当任何子组件更新时,我是否能够通知?您可以使用@Event通知您的子组件中发生了更改 例如,在子组件中创建一个事件,如 @Event({ bubbles: true, composed: true }) dataChanged: EventEmitter&l
<mycomponent>
<my-other-compoent></my-other-compoennt>
</mycomponent>
当任何子组件更新时,我是否能够通知
?您可以使用@Event
通知您的
子组件中发生了更改
例如,在子组件中创建一个事件,如
@Event({ bubbles: true, composed: true }) dataChanged: EventEmitter<boolean>;
现在,在父组件中,侦听子组件发出的事件
例如,在父组件中处理ListenEvent
@Listen('dataChanged',{target: "body"})
getChangedValue(event: CustomEvent) {
if (event.detail) {
let data = event.detail;
// do something with your data
}
}
您可以使用
@Event
通知您的
子组件中发生了更改
例如,在子组件中创建一个事件,如
@Event({ bubbles: true, composed: true }) dataChanged: EventEmitter<boolean>;
现在,在父组件中,侦听子组件发出的事件
例如,在父组件中处理ListenEvent
@Listen('dataChanged',{target: "body"})
getChangedValue(event: CustomEvent) {
if (event.detail) {
let data = event.detail;
// do something with your data
}
}
“更新”是什么意思?与中一样,调用了
componentDidUpdate()
hook?“更新”是什么意思?与中一样,调用了componentDidUpdate()
hook?只需补充一点,这对组件很有效,答案是正确的。但是,当处理从.ts文件导出的类时,这将不起作用。在这些情况下,我使用npm包stongly-typed events.hi@BrunoPolo那么你的解决方案是什么呢???@Franva现在我使用两种策略:首先,子组件接受函数类型的prop(例如,onUpdated)。然后从子组件内部调用它,从父组件运行函数。第二个策略是使用rxjs来传播全球信息。谢谢@BrunoPolo,这两个选项听起来就像我在Reactjs中所做的那样。我还发现,通过使用@Event
和@Listen
,我也能做到这一点。只需补充一点,这对组件很有效,答案是正确的。但是,当处理从.ts文件导出的类时,这将不起作用。在这些情况下,我使用npm包stongly-typed events.hi@BrunoPolo那么你的解决方案是什么呢???@Franva现在我使用两种策略:首先,子组件接受函数类型的prop(例如,onUpdated)。然后从子组件内部调用它,从父组件运行函数。第二个策略是使用rxjs来传播全球信息。谢谢@BrunoPolo,这两个选项听起来就像我在Reactjs中所做的那样。我还发现,通过使用@Event
和@Listen
,我也能做到这一点。