Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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 向多个父级发送事件以触发函数5_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 向多个父级发送事件以触发函数5

Javascript 向多个父级发送事件以触发函数5,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个主页 <app-page-component></app-page-component> 然后在我的应用程序页面组件中,我有另一个嵌套组件,如下所示 <nested-compoennt></nested-component> 所以我的应用程序基本上是这样的 <app-main-component> // where the function is <app-page-component>

我有一个主页

<app-page-component></app-page-component>

然后在我的应用程序页面组件中,我有另一个嵌套组件,如下所示

<nested-compoennt></nested-component>

所以我的应用程序基本上是这样的

<app-main-component> // where the function is
    <app-page-component>
       <nested-component></nested-component> // where the button is
    </app-page-component>
</app-main-component>
//函数的位置
//按钮在哪里
现在,我在嵌套组件中有一个按钮,我希望它能够触发顶部父组件上的一个函数。。现在我知道如果我正在将事件传递给最直接的父级,我可以使用事件发射器,但我不确定在这种情况下是否有效。。所以我的问题是,我怎样才能“冒泡”一个事件,使它命中大多数父容器、触发器和事件

任何帮助都将不胜感激

您有两种选择

第一个选项,您可以让每个组件都有一个向上广播事件的输出。这可能会很快变得不适,特别是如果它嵌套很深的话

第二个选项,您可以使用共享服务发送和接收消息。基本上,具有该按钮的组件将调用服务上的方法来广播事件,而您的父组件将使用该服务订阅这些广播的事件并采取适当的行动。

您有两个选项

第一个选项,您可以让每个组件都有一个向上广播事件的输出。这可能会很快变得不适,特别是如果它嵌套很深的话


第二个选项,您可以使用共享服务发送和接收消息。基本上,具有按钮的组件将调用服务上的一个方法来广播事件,而您的父组件将使用该服务订阅这些广播的事件并采取适当的行动。

有很多情况,很难理解您的情况是什么

在我看来,, 将有两个选项

  • 祖父母子女:事件发射器 ()

  • 使用服务:定义服务并调用子组件来设置数据或生成事件,祖父母订阅值更改或事件订阅


  • 我希望这会有帮助:)

    有很多案例,很难理解您的案例是什么

    在我看来,, 将有两个选项

  • 祖父母子女:事件发射器 ()

  • 使用服务:定义服务并调用子组件来设置数据或生成事件,祖父母订阅值更改或事件订阅

  • 我希望这会有所帮助:)