我正在将ES6项目转换为TypeScript,在Angular.js中将@typed/angular
与.service
调用一起使用时遇到了问题。
如果我这样做:
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 {}
答案 0 :(得分:0)
不确定,但是在将OrderTreeService
移动到单个文件时,您是否从OrderTreeService
导出了order-tree.service.ts
服务?
order-tree.service.ts
export class OrderTreeService {}