Angular 角度2 DI-Can';无法解析所有参数

Angular 角度2 DI-Can';无法解析所有参数,angular,ng-modules,ng2-resource-rest,Angular,Ng Modules,Ng2 Resource Rest,我已经在Angular 2中构建了一个基本应用程序,无法通过模块将服务注入到我的一个组件中 使用webpack编译后,出现以下错误: “角度2 DI-无法解析所有参数” //用户模块 从“@angular/core”导入{NgModule}; 从“@angular/common”导入{CommonModule}; 从“./services/user.service”导入{UserService}; 从“/user.component”导入{UserComponent}; @NGD模块({ 进口:

我已经在Angular 2中构建了一个基本应用程序,无法通过模块将服务注入到我的一个组件中

使用webpack编译后,出现以下错误: “角度2 DI-无法解析所有参数”

//用户模块
从“@angular/core”导入{NgModule};
从“@angular/common”导入{CommonModule};
从“./services/user.service”导入{UserService};
从“/user.component”导入{UserComponent};
@NGD模块({
进口:[
公共模块
],
声明:[
用户组件
],
导出:[UserComponent],
提供者:[用户服务]
})
导出类UserModule{}
//用户组件
从“@angular/core”导入{Component,Inject};
从“./services/user.service”导入{UserService,IUser};
从“@angular/forms”导入{FormGroup,ReactiveFormsModule};
@组成部分({
templateUrl:“./user.component.html”,
样式URL:['./user.component.css']
})
导出类用户组件{
用户:IUser[]=[];
//构造函数(私有用户服务:用户服务){
//不太管用
构造函数(@Inject(UserService)private UserService:UserService){
this.user=this.userService.get({id:1});
}
}
//用户服务
从“@angular/core”导入{Injectable};
从'@angular/http'导入{RequestMethod};
从“ngx资源/src/Interfaces”导入{ResourceMethod};
从“ng2资源rest”导入{ResourceAction,ResourceParams};
从“../shared/rest-client”导入{RestClient};
接口输入{
id:编号;
}
导出接口IUser{
id:编号;
名称:字符串;
描述:字符串;
用户内容:IUserContent[];
}
导出接口内容{
url:string;
类型:字符串;
标题:字符串;
}
@可注射()
@资源参数({
url:'用户'
})
导出类UserService扩展RestClient{
@资源行动({
路径:“/”,
伊萨雷:是的
})
查询:ResourceMethod;
@资源行动({
路径:'/{!id}'
})
get:资源法;
}
来自浏览器控制台的信息:

Uncaught Error: Can't resolve all parameters for UserService: (?, ?).
    at syntaxError (http://127.0.0.1:8000/vendor.bundle.js:41458:34) [<root>]
    at CompileMetadataResolver._getDependenciesMetadata (http://127.0.0.1:8000/vendor.bundle.js:54735:35) [<root>]
    at CompileMetadataResolver._getTypeMetadata (http://127.0.0.1:8000/vendor.bundle.js:54603:26) [<root>]
    at CompileMetadataResolver._getInjectableMetadata (http://127.0.0.1:8000/vendor.bundle.js:54589:21) [<root>]
    at CompileMetadataResolver.getProviderMetadata (http://127.0.0.1:8000/vendor.bundle.js:54878:40) [<root>]
    at http://127.0.0.1:8000/vendor.bundle.js:54808:49 [<root>]
    at Array.forEach (native) [<root>]
    at CompileMetadataResolver._getProvidersMetadata (http://127.0.0.1:8000/vendor.bundle.js:54769:19) [<root>]
    at CompileMetadataResolver.getNgModuleMetadata (http://127.0.0.1:8000/vendor.bundle.js:54424:50) [<root>]
    at CompileMetadataResolver.getNgModuleSummary (http://127.0.0.1:8000/vendor.bundle.js:54277:52) [<root>]
    at http://127.0.0.1:8000/vendor.bundle.js:54350:72 [<root>]
    at Array.forEach (native) [<root>]
    at CompileMetadataResolver.getNgModuleMetadata (http://127.0.0.1:8000/vendor.bundle.js:54335:49) [<root>]
    at JitCompiler._loadModules (http://127.0.0.1:8000/vendor.bundle.js:65516:64) [<root>]
Uncaught错误:无法解析UserService:(?,?)的所有参数。
在syntaxError(http://127.0.0.1:8000/vendor.bundle.js:41458:34) []
在CompileMetadataResolver上。\u getDependenciesMetadata(http://127.0.0.1:8000/vendor.bundle.js:54735:35) []
在CompileMetadataResolver上。\u getTypeMetadata(http://127.0.0.1:8000/vendor.bundle.js:54603:26) []
在CompileMetadataResolver.\u getInjectableMetadata(http://127.0.0.1:8000/vendor.bundle.js:54589:21) []
在CompileMetadataResolver.getProviderMetadata(http://127.0.0.1:8000/vendor.bundle.js:54878:40) []
在http://127.0.0.1:8000/vendor.bundle.js:54808:49 []
在Array.forEach(本机)[]
在CompileMetadataResolver.\u获取ProvidersMetadata(http://127.0.0.1:8000/vendor.bundle.js:54769:19) []
在CompileMetadataResolver.getNgModuleMetadata上(http://127.0.0.1:8000/vendor.bundle.js:54424:50) []
在CompileMetadataResolver.GetNGModules摘要中(http://127.0.0.1:8000/vendor.bundle.js:54277:52) []
在http://127.0.0.1:8000/vendor.bundle.js:54350:72 []
在Array.forEach(本机)[]
在CompileMetadataResolver.getNgModuleMetadata上(http://127.0.0.1:8000/vendor.bundle.js:54335:49) []
在JIT编译器上。\u加载模块(http://127.0.0.1:8000/vendor.bundle.js:65516:64) []

我认为您需要将ResourceModule.forRoot()添加到导入中

如果您使用的是Typescript,那么应该删除@Inject()

依我看,你的问题更像是如何正确使用ngx资源

你可能想先试试他们的例子


为什么(@Inject(活动服务)private userService:userService您可以直接使用该服务。有关使用服务的信息,请查看此repo(@Inject(活动服务)private userService:userService您的ts中没有
userService
类。我曾尝试直接使用它,但我遇到了相同的错误。检查服务的repo,您会找到它的simple@user2588688有帮助吗?