子组件更新时的StencilJS事件

时间:2019-07-01 20:50:51

标签: javascript stenciljs

如果我在StencilJS中有类似的内容。

<mycomponent>
   <my-other-compoent></my-other-compoennt>
</mycomponent>

当任何子组件更新时,我能否通知<mycompoent>

1 个答案:

答案 0 :(得分:0)

您可以使用@Event来通知<mycompoent>子组件中的某些更改。

例如在您的子组件中创建一个类似

的事件
@Event({ bubbles: true, composed: true }) dataChanged: EventEmitter<boolean>;

并在子组件中发生某些更改时发出此事件

this.dataChanged.emit(true);

现在在您的父组件中听您的孩子发出的事件 例如在您的父组件中处理Listenevnt

@Listen('dataChanged',{target: "body"})
    getChangedValue(event: CustomEvent) {
        if (event.detail) {
            let data = event.detail;
            // do something with your data
        }
    }