gpt4 book ai didi

javascript - $emit、$broadcast、原型(prototype)继承

转载 作者:行者123 更新时间:2023-11-28 00:26:59 25 4
gpt4 key购买 nike

仍然是 AngularJS 的基础知识,我了解这些概念,但是,只是查看自定义事件,

$emit 

$broadcast 

对于嵌套 Controller ..

根据文档, $emit 使事件冒泡,即。对于嵌套 Controller ,将其沿链向上传递,

我的问题是,这与简单地从父 Controller 调用函数(原型(prototype)继承)有什么不同。还是我错过了一些理解?

最佳答案

问题是,您不能总是确定您的直系 parent 就是您想要调用的人。使用这种反模式很容易破坏您的代码。

您必须同意

$scope.$parent.$parent.$parent.doSomething(); 

太丑了。

相反,您可以向上$emit一个事件,现在无论您的父 Controller 在链上多远,只要它正在监听并使用react即可。

这为您在 Controller 之间提供了良好的松散耦合,并且就像消息泵一样。

对于$broadcast也是如此,只是向下,在这里我认为它更重要。

关于javascript - $emit、$broadcast、原型(prototype)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386906/

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