2016-10-18 11 views
5

に別のサービスでサービスを利用するにはどうすれば2つのサービス1.接続サービスおよび2.販売・サービスイオン2

接続サービスは、IPアドレスとポートの情報が含まれているを使用していました。私は最初のサービスから販売サービスにipとポートを取得する必要があります。私はjsonを取得するために使用されるURLを完了することができます。ここでは、コード部分を削除

、更新#で私のレポを見てください、私は

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 

マイイオン性情報

を得ている3

エラー

コルドバCLI:6.3.1
ガルプ版:ローカルCLIバージョン3.9.1
ガルプ:
イオンFrameworkのバージョン:2.0.0-rc.1
イオンCLIバージョン:2.1.0
イオンのApp Libのバージョン:2.1.0ベータ。 1
IOS-デプロイバージョン:インストールされていない
IOS-SIMバージョン:インストールされていない
OS:MacのOS Xエルキャピタン
ノードバージョン:v6.7.0
Xcodeのバージョン:7.3.1 Xcodeのビルドバージョン7D1014

スタックトレースから私はプロバイダのようなものを使用する必要があることを理解しています:[ConnectionService]しかし、私はSales-Serviceで提供する方法を知らない。どんな助言も役に立つでしょう。ありがとうございました。 [ConnectionService、SalesService] // これはに動作します:

  1. プロバイダの下に与えられたとして、私はapp.module.tsファイル内のサービスの両方を注入しようとした

    更新#1

    ありがとう@jmilloy@カマロン

更新#は

2は、私は新しいプロジェクトを作成し、私は

FirstServiceなしプロバイダーを言うエラーが複製されました!

が、私の元のプロジェクトで

、エラーが

ConnectionServiceなしプロバイダーを言う必要があります!

//ではなく、それは

トンなしプロバイダーを言います! // tとは何を指していますか?

私は私のレポで私のプロジェクトをアップロードしたアップデート#3 。見てみな。

This is my original project repo //解決済み、npmキャッシュをクリーニングしなければならなかった。

This is my new project repo //問題が

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をチェックしてみ

+1

「ionicBootstrap」コールはどこにもありますか?私はAngular/Ionicで始まっていますが、私たちのapp.tsには 'ionicBootstrap(AppModule、[ConnectionService、SalesService])'があります。あるいは 'bootService'を' bootstrap'リストに追加することができますか? – jmilloy

+0

@jmilloy返信いただきありがとうございます。更新された質問をご覧ください。更新#1 –

答えて

2

問題がSalesServiceのようですが、コンポーネントにprovider: [SalesService]を使用していますか?そうでない場合は、SalesServiceをに追加してください。app.module.ts

0

を与えられた回答に基づいて解決しました。

+0

@camaronありがとうございますが、引き続き同じエラーが発生しています。 –

+1

@DarthIonicあなたの問題はあなたの 'SalesService'であるようですが、あなたはコンポーネントで' provider:[SalesService] 'を使っていますか? ** app.module.ts ** –

+0

にあなたの 'Providers:[ConnectionService、SalesService]'に 'SalesService'を追加する必要があります。返信いただきありがとうございます。私の更新された質問Update#1を参照してください。 –