Я конвертирую проект ES6 в TypeScript и столкнулся с проблемой при использовании @typed/angular
с вызовом .service
в Angular.js.
Если я сделаю это:
import * as angular from 'angular';
class OrderTreeService {}
export const orderTree = angular
.module('orderTree', [])
.service('OrderTreeService', OrderTreeService)
.name;
Работает отлично.Однако, если я переместу этот сервис в файл order-service.service.ts
и сделаю следующее:
import * as angular from 'angular';
import { OrderTreeService } from './order-tree.service';
export const orderTree = angular
.module('orderTree', [])
.service('OrderTreeService', OrderTreeService)
.name;
Тогда он больше не работает и выдает такую ошибку:
TS2345: Argument of type 'typeof OrderTreeService' is not assignable to parameter of type 'Injectable<Function>'.
Type 'typeof OrderTreeService' is not assignable to type '(string | Function)[]'.
Property 'pop' is missing in type 'typeof OrderTreeService'.
Я не могу понятькакая разница?Потеряна ли какая-то информация о типах где-нибудь по пути?
Это содержимое order-service.service.ts
:
export class OrderTreeService {}