我想知道AngularJS中是否存在一个约定,用于创建一个对象,该对象位于应用程序模块内,但并不以任何方式直接附加到视图,而是在视图已经加载,应用程序启动。特别是,我试图编写一个对象,当它们从服务器进入时,将消息分派给监听控制器。
目前,我通过创建一个附加到视图的“控制器”来实现此目的。它有一个monitor()
函数,在页面加载时调用,然后在循环中侦听任何传入消息。我所说的monitor()
函数从加载的视图中,通过设置NG控制器像这样:创建AngularJS对象,调用应用程序加载方法
<div ng-controller="MyController">
{{ monitor() }}
</div>
这并不觉得自己做了正确的事情。这个“控制器”并没有以任何方式与视图进行交互,所以我的直觉告诉我,我违反了AngularJS的原则。但是我还没有能够找到一个由AngularJS doc支持的简单解决方案。
我正在寻找一种方法来创建一个生活在AngularJS世界中的对象(换句话说,它可以使用依赖注入来访问服务,并且它可以使用$scope.$broadcast
向其他监听控制器发送消息),但不需要以任何方式将自己固定在视图上。
理想情况下,我正在寻找一种方法来说,“这里Angular在启动时创建此对象,并在其上运行此方法。”有没有办法做到这一点?
有记录[** HERE **](https://docs.angularjs.org/api/ng/type/angular .Module#运行) – jshanley