gpt4 book ai didi

javascript - Angular : Order of custom event handlers & default handler

转载 作者:行者123 更新时间:2023-11-30 05:32:12 28 4
gpt4 key购买 nike

在我的应用程序中,我定义了一个自定义事件,我希望为其设置默认处理程序。如果任何 Controller /服务想要覆盖默认处理,他们可以通过添加自己的处理程序来实现。

为了实现这个场景,我在 $rootScope 上添加了默认处理程序并在 $rootScope 上广播事件。我期待像下面这样的工作。

//defined in .run block
$rootScope.$on('customEvent', defaultHandler);

//defined inside a controller
$scope.$on('customEvent', function customHandler(e){
// handle event
e.preventDefault();
});

我的问题是因为 .run block 在执行任何 Controller 之前执行,所以 defaultHandler 总是先注册。结果,它首先被执行,然后自定义处理程序被执行。我希望 defaultHandler 最后执行。

我想避免添加自己的维护事件处理程序列表并确保它们按所需顺序执行的逻辑。有什么方法可以实现这个 Angular 吗?谢谢。

最佳答案

据我所知, Angular 中“优先级”的唯一概念来自“指令”以及它们的编译/链接顺序。

执行此操作的黑客方法是将事件处理程序放入该范围内的指令中,并按照代表您的顺序的任何优先级对它们进行排序。

关于javascript - Angular : Order of custom event handlers & default handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26184536/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com