我使用了两个服务1.连接服务和2.销售服务
connection-service包含ip和端口信息。我需要从第一个服务到销售服务获取ip和端口。这样我就可以完成用于获取json的URL。
在此处删除了编码部分,请在Update#3
查看我的回购
错误我
2 007892 error EXCEPTION: No provider for t!
3 007893 error ORIGINAL STACKTRACE:
4 007893 error Error: No provider for t!
at e.Error (native)
at e [as constructor] (http://192.168.1.48:8100/build/main.js:5:4700)
at e [as constructor] (http://192.168.1.48:8100/build/main.js:5:9276)
at new e (http://192.168.1.48:8100/build/main.js:5:9604)
at t._throwOrNull (http://192.168.1.48:8100/build/main.js:5:26583)
at t._getByKeyDefault (http://192.168.1.48:8100/build/main.js:5:26939)
at t._getByKey (http://192.168.1.48:8100/build/main.js:5:26494)
at t.get (http://192.168.1.48:8100/build/main.js:5:22859)
at e.get (http://192.168.1.48:8100/build/main.js:7:14254)
at e.get (http://192.168.1.48:8100/build/main.js:8:1442)
5 007895 error Uncaught Error: No provider for t!, http://192.168.1.48:8100/build/polyfills.js, Line: 3
我的离子信息
从堆栈跟踪Cordova CLI:6.3.1
Gulp版本:CLI版本3.9.1
Gulp local:
离子框架版本:2.0.0-rc.1
离子CLI版本:2.1.0
Ionic App Lib版本:2.1.0-beta.1
ios-deploy版本:未安装
ios-sim版:未安装
操作系统:Mac OS X El Capitan
节点版本:v6.7.0
Xcode版本:Xcode 7.3.1构建版本7D1014
我明白我需要使用像提供程序这样的东西:[ConnectionService]但我不知道如何在Sales-Service提供中使用它。任何建议都会有所帮助。谢谢。
更新#1
我尝试在app.module.ts文件中注入两个服务,如下所示
- 提供商:[ConnectionService,SalesService] // 此作品,感谢 @jmilloy 和 @camaron 。
醇>
更新#2
我创建了一个新项目并且我复制了错误
没有FirstService的提供商!
但在我原来的项目中,错误应该说
没有ConnectionService的提供商!
//而不是说
没有t的提供者! //它指的是什么?
更新#3 我已将我的项目上传到我的仓库中。看看这个。
This is my original project repo //问题解决了,不得不清理npm缓存。
This is my new project repo //根据给出的答案解决问题
答案 0 :(得分:2)
您的问题似乎是SalesService
,您在组件上使用provider: [SalesService]
?如果不是,您应该将SalesService
添加到 app.module.ts
providers: [ConnectionService, SalesService]
答案 1 :(得分:0)
尝试
import { Injectable, Inject } from '@angular/core';
import { Http, Headers } from '@angular/http';
import { ConnectionService } from './connection-service';
import 'rxjs/add/operator/map';
@Injectable()
export class SalesService {
connection:ConnectionService;
constructor(public http: Http, @Inject(ConnectionService) connection:ConnectionService) {
this.connection = connection;
this.http = http;
this.connection.getConnectionInfo();
}
getSalesData(): any {
return this.http.get("http://"+this.connection.ip+":"+this.connection.port+"/DasherAPI/public/api2/getCompanySalesFull");
}
}
检查构建器上的@Inject
,不要忘记Inject
导入。