【发布时间】:2021-03-09 02:58:07
【问题描述】:
我有一个 Angular 1.x 应用程序。现在有一个用例,我必须访问 ES6 类中的 Angular 1.x 服务/工厂,这些类不是 Angular JS 的一部分或注册到 Angular JS。简而言之,我想做一些事情,比如导出一个 Angular 服务并在 ES6 类中导入。我知道这不是直接可能的,但会有解决办法吗?
所以我有一个类似的服务
(function () {
angular.module('myApp').service('ServiceOne', function () {
return {
property: value
};
});
})();
现在又多了一个 ES6 类(服务文件)...
import angular from 'angular';
// const $injector = angular.injector(['ng', 'myApp']);
// const ServiceOne = $injector.get('ServiceOne');
// const ServiceTwo = $injector.get('ServiceTwo');
class Es6Service {
constructor() {
//this.serviceOne = ServiceOne;
//this.serviceTwo = ServiceTwo;
}
methodOne() {
// code
}
methodTwo() {
// code
}
}
export default Es6Service;
我知道injector.get('serviceName') 可以为我们获取服务实例,在我的情况下,我收到了未知提供者的错误。我的假设是这里可能缺少角度模块参考。
如果是这种情况,那么我如何在此处获取模块参考?还是有其他方法可以做到这一点?
谢谢
【问题讨论】:
标签: angularjs