2016-04-03 9 views
0

私は基本的な文字化けアプリを作ることによってイオン&を学ぼうとしています。だから私はイオンによって提供されたタブテンプレートから始め、すべての仕組みを理解するためにちょうど微調整をしています。サービスを作成するときに不明なプロバイダ - 角度

とにかく、テーブル行から会話コントローラに会話IDを渡して、関連情報を表示することができるようにしています。

var baxter = angular.module('baxter'); 

baxter.controller('ConversationsCtrl', function($scope, 

conversationService) { 
    $scope.conversations = conversationService.conversations; 

    $scope.setCurrentConversation = function(convoID){ 
    conversationService.selectedConversation(convoID); 
    } 
}); 

サービス:

var baxter = angular.module('baxter'); 

baxter.service('conversationService', function($http) { 
    this.conversations = [ 
    { title: 'Jill Sanders', id: 1 }, 
    { title: 'Bobby Duck', id: 2 }, 
    { title: 'Boatie McBoatface', id: 3 }, 
    { title: 'Jesus Christ', id: 4 }, 
    { title: 'Tall Blonde', id: 5 }, 
    { title: 'Mom', id: 6 } 
    ]; 

    this.selectedConversation = function(conversationID) { 
    console.log(conversationID); 
    } 

    return this; 
}); 

エラー:あなたがもう一度var baxterを再宣言するときは、変数baxter上書きされ

0  780569 error Error: [$injector:unpr] Unknown provider: conversationServiceProvider <- conversationService <- ConversationsCtrl 
+0

コードが正しいように見えます。私が言うことができるのは、 'service.js'ファイルがロードされたかどうかを再確認してください。開発者のコ​​ンソールを開くことによって.. –

+0

あなたはイオンに精通していますか?コマンドラインとiosシミュレータを使用しているので、イオンをデバッグする方法がわからない – broderickga

+0

デバッグ用にブラウザでイオンを実行できる – charlietfl

答えて

-1

は、ここに私のコントローラです。これで新しいインスタンスが作成され、前の宣言は失われます。

モジュールを表すためにグローバル変数を使用しないで順序をロードすることを心配しないために、モジュールを参照するためにvarを使用しないことをお勧めします。単純に行う:複数のコンポーネントを1つのファイルにある場合

angular.module('baxter').controller('ConversationsCtrl', ... ; 

angular.module('baxter').service('conversationService'.... 

あなたはまた、それらをチェーンすることができます

angular.module('baxter') 
    .controller('ConversationsCtrl',function(/* dependencies*/){ 

    }) 
    .service('conversationService'.... 

参考:John Papa Angular 1 Style Guide

+0

私はあなたが指摘していることはOPの現在の問題の問題であるとは思わない...それは物事を持って良い.. –

関連する問題