Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新子组件时的StencilJS事件_Javascript_Stenciljs - Fatal编程技术网

Javascript 更新子组件时的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

如果我在StencilJS中有这样的东西

<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
,我也能做到这一点。