我可以使用AngularJS's$q在Angular组件之外
Can I use AngularJS's $q outside an Angular component?
我正在编写一个浏览器应用程序,我有一个文件可以创建一个对象并对其进行初始化。该应用程序是用AngularJS编写的,但有问题的文件是Angular生态系统之外的纯Javascript。
我想在该文件中使用promise,但由于Angular包含Q的实现,我宁愿使用它,也不愿引入另一个库。
我也在使用RequireJS。
那么,有没有一种方法可以在非Angular文件中使用$q?
您可以使用angular.injector()方法来执行此操作,该方法返回一个$injector函数,该函数可以通过其invoke()
方法注入您需要的依赖项(例如$http
、$q
)。
演示
类似这样的东西:
angular.injector(['ng']).invoke(['$q', function($q) {
$q.when('hello world').then(function(message) {
window.alert(message);
});
}]);
请注意,传递给angular.injector()
的数组是一个模块列表,我包含了ng
模块,因为AngularJS核心依赖关系就位于此。
相关文章:
- Typescript编译器错误,Angular 1.5组件应为分号
- 向Angular 2组件发出传递值
- Angular 1.5组件中的Angular Bootstrap Modal$uibModalInstance未知提供程
- 是否可以将服务注入Angular 1.5组件's templateUrl属性
- 如何使用Angular 1.5组件将属性求值为字符串,这是一个自定义函数
- Angular 2组件测试错误:无法解析'TestComponentBuilder'
- Angular 1.5组件双向绑定不起作用
- <对象>中的 SVG 不会显示在 IE 的 Angular 2 组件中
- 如何在回调函数的 Angular 1.5 组件中处理这个问题
- 如何在 Angular 1.5 组件中等待绑定(没有 $scope.$watch)
- Angular 1.5 组件 onChanges 不起作用
- 没有视图的 Angular 2 组件
- 如何在纯ES5(Javascript)中向angular组件注入自定义服务
- mdSidenav服务可以'当一个组件's在Angular组件内部
- Angular 1.5组件方法templateUrl+函数
- 我可以使用AngularJS's$q在Angular组件之外
- Angular组件构造函数被调用两次
- angular组件中的模板没有按预期工作
- Angular指令到Angular 1.5组件
- 从Angular 2组件中调用纯javascript函数