我使用index.ts文件封装出口,如角度2样式指南(https://github.com/mgechev/angular2-style-guide/blob/master/old/README.md#directory-structure)中所述.
这在我写的应用程序中运行良好,但由于某种原因,在一个服务中,我试图注入另一个服务,这会导致一个奇怪的错误.
导出的类:
import {Injectable} from "angular2/core";
@Injectable()
export class UserIds{
private _signature_id:string;
private _role_id:number;
get signature_id():string{
return this._signature_id;
}
set signature_id(id:string){
this._signature_id = id;
}
get role_id():number{
return this._role_id;
}
set role_id(id:number){
this._role_id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
index.ts文件:
export {Midiate} from "./midiate.service/midiate.service";
export {HttpRest} from "./http_rest.service/http_rest.service";
export {UserIds} from "./user_ids.service/user_ids.service"
Run Code Online (Sandbox Code Playgroud)
导致错误的代码(导入文件):
import {UserIds} from "../index";
import {Http} from 'angular2/http';
@Injectable()
export class HttpRest{
constructor(
public _http: Http,
public userIdsx: UserIds
){}
...
}
Run Code Online (Sandbox Code Playgroud)
浏览器抛出的错误:
EXCEPTION: Cannot resolve …Run Code Online (Sandbox Code Playgroud)