2016-08-07 3 views
2

私はイオンプロジェクトを実行しており、Ionic Labツールを使用してそのライブを可視化しています。 htmlドキュメントを変更するたびに、何が起こっているのかがわかるので、かなり良いです。コントローラが私のコードを壊しているのはなぜですか?

ここで、私はcontrollers.jsの下にコントローラを挿入しました。それは私のプロジェクトを破壊するだけです。私が意味するところは、controllers.jsファイルからコードを取り除くと、プロジェクトは正常に表示されますが、それを置くとプロジェクト全体が空になります。それが何もなかったように。

.controller('AccountCtrl', function($scope, $state, $cordovaOauth) { 
    $scope.$on('$ionicView.enter', function() { 
     //Authentication details. 
      JSON.stringify(firebase.auth().currentUser)); 

      //Get logged in user credentials. 
      var user = firebase.auth().currentUser; 
     var name, email, photoUrl, provider; 

     if (user != null) { 
     name = user.displayName; 
     email = user.email; 
     photoUrl = user.photoURL; 
     provider = user.provider; 
      } 

      //Set Profile Image. 
      profileImage = photoUrl; 
      //Set Profile Name. 
      profileName = name; 
     //It is now up to you to set provider and email!  
    }) 
}); 

そして、ここに私の完全なドキュメントです:

ここで私が追加されたコードがある

angular.module('starter.controllers', []) 

.controller('LoginCtrl', function($scope, $state, $cordovaOauth) { 
    $scope.signIn = function() { 
     $state.go('tab.dash'); 
    }; 

    $scope.facebook = function() { 
     var facebookAppId = "198040820571843"; 
     $cordovaOauth.facebook(facebookAppId, ["public_profile", "email"]).then(function(response) { 
     var credential = firebase.auth.FacebookAuthProvider.credential(response.access_token); 
     loginWithCredential(credential, 'Facebook'); 
    }, function(error) { 
     //User cancelled login. Hide the loading modal. 
    }); 
    } 

    $scope.twitter = function() { 
    var twitterKey = "aJWByCgPhUgYZJMojyFeH2h8F"; 
     var twitterSecret = "XxqKHi6Bq3MHWESBLm0an5ndLxPYQ2uzLtIDy6f9vgKKc9kemI"; 
    $cordovaOauth.twitter(twitterKey, twitterSecret).then(function(response) { 
     var credential = firebase.auth.TwitterAuthProvider.credential(response.oauth_token, 
     response.oauth_token_secret); 
     loginWithCredential(credential, 'Twitter'); 
    }, function(error) { 
     //User cancelled login. Hide the loading modal. 
    }); 
    }; 

    loginWithCredential = function(credential, provider) { 
    firebase.auth().signInWithCredential(credential) 
     .then(function(response) { 
     //User logged in through provider. 
       $state.go('tab.dash'); 
     }) 
     .catch(function(error) { 
     //Show error message. 
     var errorCode = error.code; 
     }); 
    }; 
}); 

.controller('AccountCtrl', function($scope, $state, $cordovaOauth) { 
    $scope.$on('$ionicView.enter', function() { 
     //Authentication details. 
      JSON.stringify(firebase.auth().currentUser)); 

      //Get logged in user credentials. 
      var user = firebase.auth().currentUser; 
     var name, email, photoUrl, provider; 

     if (user != null) { 
     name = user.displayName; 
     email = user.email; 
     photoUrl = user.photoURL; 
     provider = user.provider; 
      } 

      //Set Profile Image. 
      profileImage = photoUrl; 
      //Set Profile Name. 
      profileName = name; 
     //It is now up to you to set provider and email!  
    }) 
}); 

私は本当に何が起こっているか理解していないが、それだけですべてを破ります!

そして私はapp.jsにそのコントローラを呼び出す:

.state('tab.account', { 
     url: '/account', 
     views: { 
     'tab-account': { 
      templateUrl: 'templates/tab-account.html' 
     } 
     }, 
     controller: 'AccountCtrl' 
    }) 

誰もが任意の助け...感謝を持っている場合!

EDITは、コンソールでは、ここでエラーは次のとおりです。

?ionicplatform=android:29 Uncaught SyntaxError: Unexpected token . http://localhost:8100/js/controllers.js Line: 43console.(anonymous function) @ ?ionicplatform=android:29 
controllers.js:43 Uncaught SyntaxError: Unexpected token . 

それは当然の私のコントローラを開始する行です...

+0

すべてのエラー? – mariocatch

+0

まあ...私は初心者ですが、私はまだ発見しています。私は本当にコンソールを表示する方法を知っていないが、Ionic Labに統合されたものは何も表示されませんが、うまくいく "サーブ"は表示されません... CLIで試してみましたが、ただ...空白!エラーは表示されませんが、もう一度正しいコンソールを表示する方法を本当に知っているかどうかはわかりません。 ありがとうございました! – FrenchyNYC

+0

ブラウザにある場合は、F12キーを押してブラウザでコンソールを表示します。 – mariocatch

答えて

3

2つの問題:

あなたは、コントローラLoginCtrlの末尾にセミコロン(;)を持っています。

AcctCtrlは、その上にあるコントローラーの末尾にセミコロンがあるため、あなたの角モジュールに親しみをつけることができません。

第二に、

この行は、あまりにも多くのものを持っている決算)

JSON.stringify(firebase.auth().currentUser));

それは次のようになります。コンソールで

JSON.stringify(firebase.auth().currentUser);

+0

感謝します!残念だ... – FrenchyNYC

2

ラインから:41、これをシミ・コロンを削除参照の連鎖を角度に分解します。

関連する問題