【发布时间】:2020-05-14 06:49:37
【问题描述】:
我的结构类似于 AngularJS 应用程序 -> Angular 组件(主)-> 子组件 -> 孙子组件。我的孙子组件上发生了单击事件,我想向 AngularJS 应用程序发出事件。我已经在我的 AngularJS 应用程序中添加了监听器,如果我从主组件发出事件,那么它可以工作,但不能来自孙子。将每个级别的事件链接起来可能是一个解决方案,但看起来并没有优化,因为可能有很多这样的事件。我在一些线程上读到,从服务中发出事件不是一个好习惯(我仍然尝试过,但无论如何都没有工作)。有没有其他办法?
【问题讨论】:
-
我有相同的应用程序结构。我使用 Angular 可降级服务或 AngularJs 可升级服务在我所有的孙子和 AngularJs 实体之间进行通信。当然,我们正在将它们全部转换为 Angular 并最终弃用 AngularJ。如果我理解正确,如果你想继续这条路,也许可以问一个更技术性的问题,为什么这对你不起作用?
-
我们也在升级的路上,但一步一步做,所以需要同时整合两者。我的架构师希望保持组件独立于服务端点,因此客户端应该在需要时调用服务并将数据提供给组件。链接事件应该可以工作,但那将是我会选择的最后一个选择。我是说服务中的 emit() 对我不起作用。它不调用客户的侦听器。您能否详细说明您所说的可升级/可降级服务?
标签: angular events angular-services emit