在AngularJS中自动创建服务实例(无延迟加载)
Auto-create service instance in AngularJS (no lazy-load)
我创建了一个需要侦听$route
事件的服务。我正在为听众设置$rootScope.$on()
。我的服务是这样的:
application.factory('myListener', ['$rootScope', function ($rootScope) {
$rootScope.$on('$routeChangeStart', myListener.onChangeStart);
return {
onChangeStart: function() {
// Do something.
}
};
}]);
它工作正常,但我必须在应用程序中的某个地方至少注入一次该服务的实例,以便侦听器能够连接自己。
有没有一种方法可以强制创建实例而不在某个地方注入它?
也许你可以推荐一种更好的方式来构建这项服务?
谢谢。
angular.injector().get('myListener');
应该为您提供服务的实例。
如果你不需要服务,而是需要一些在应用程序启动时运行的代码,那么你应该把它放在一个运行块中:
application.run(['$rootScope', function($rootScope) {
$rootScope.$on('$routeChangeStart', function() {
// Do something.
});
}]);
相关文章:
- 延迟加载jquery后替换$(document).ready(function)
- 延迟加载背景图像时防止双重请求
- 延迟加载 脚本加载和/或执行
- 使jquery延迟加载插件在视口内工作
- 如何在水平滚动 Jquery 上实现延迟加载
- 如何使用angularjs延迟加载谷歌jsapi图表
- 使用requirejs对延迟加载成员模块进行Typescript
- 淘汰具有延迟加载的多选下拉列表
- Kendo UI树视图中的延迟加载(带缓存)
- 使用Twitter引导程序's Scrollspy到延迟加载(滚动加载)异步JavaScript
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- 在featherlight.js中延迟加载iFrame
- 如何包含多个JS文件-延迟加载javascript
- 使用筛选延迟加载项目
- AngularJS正在等待CSS延迟加载
- 卸载/销毁角延迟加载组件
- 使用Socket IO进行Jstree延迟加载
- 如何在文本上实现延迟加载
- 多个延迟加载实例 |Javascript
- 在AngularJS中自动创建服务实例(无延迟加载)