承诺机制可以取代Angular中的事件系统吗?
Can promise mechanism replace event system in Angular
我们都知道事件系统对于每一个流行的JavaScript框架都是非常重要的,许多著名的框架也提供了承诺机制,如Jquery, DoJo。
但是AngularJS很特别:
- 提供promise方法。
- 用JqLite为DOM元素提供事件方法,用$emit/$broadcast为$scope提供事件方法。Angular似乎建议在服务中使用watch。
我的问题是服务的数据模型是:
- 一个非常大的列表,所以很难看到
- 由许多其他控制器或指令共享,因此承诺似乎不够。
那么,我可以使用事件机制让服务广播其数据更改吗?或者还有其他更好的解决方案。
承诺机制能否取代事件系统
一般情况下,NO。每个定义的承诺只解析一次,之后不会改变它们的值。如果你想要发出多个事件,你不能使用promise(或者仅仅是非常不可行的)。
相关文章:
- 在Angular ui路由器中,如何将事件从一个视图发送到另一个视图
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- 如何在Angular Material中的md背景后面接收ng点击事件
- 是否可以在jQuery事件中更改Angular范围
- 指定父文档按钮点击事件来自Angular JS中的子文档控制器
- 哪些浏览器使用哪个密钥事件系统
- 使用输入/输出事件在 Angular 2 中的父组件中触发方法
- 你能在选项元素上设置点击事件吗?(Angular v2.0.0-beta.0)
- 节流Reactjs事件系统
- 使用 JavaScript 的简单事件系统 (ES5) - JS 自定义事件
- 如何用Javascript实现一个完整的事件系统
- ng-click事件在angular js中绑定到子节点li
- 关联“多步骤系统”;还有一个“事件系统”
- javascript的onchange事件系统实体
- 一个简单的事件系统|如何
- 同步事件与angular(如thread 'join()')功能)
- 在React.js中,我如何设置一个简单的全局事件系统来在组件之间进行通信?
- 为什么行单击事件在angular中不能正常工作
- 承诺机制可以取代Angular中的事件系统吗?