2017-03-08 5 views
0

コントローラを使わずにルータを使用すると、ルータがうまく動作していますが、コントローラを追加しても問題ありません。私のルータは動作を停止...誰も私のルータ機能の私の問題について教えてくださいできますか?このコントローラの機能に問題がありますか?

LOGINのCONTROLLER:

angular.module('starter', ['ionic']) 
.controller('LoginCtrl', function($scope, LoginService, $ionicPopup, $state) { 


    $scope.login = function() { 
    console.log("LOGIN user: " + $scope.username + " - PW: " + $scope.password); 

    LoginService.loginUser($scope.username, $scope.password).success(function(data) { 
     console.log("Login Successful"); 
     $state.go('home'); 
    }).error(function(data) { 
     var alertPopup = $ionicPopup.alert({ 
      title: 'Login failed!', 
      template: 'Please check your credentials!' 
     }) 
    }) 
    } 

}); 

ルータCODE

angular.module('starter', ['ionic']) 
.config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 
      .state('home', { 
       url: '/home', 
       templateUrl: 'page2.html', 
       controller: 'HomeCtrl' 
      }) 
      .state('login', { 
       url: '/login', 
       templateUrl: 'index.html', 
       controller: 'LoginCtrl' 
      }) 

     $urlRouterProvider.otherwise('/login'); 
    }); 
+3

停止を探すため

angular.module('starter').controller('', function(){}); 

を使用する必要がありますか?コンソールでエラーが発生しましたか? – lin

+1

私はコントローラを使用する場合、URLはこのような "http:// localhost:8100 /?" –

+0

もし私がそうでなければ、これは "http:// localhost:8100 /?再起動= 769171#/ログイン」 –

答えて

0
angular.module('starter', ['ionic']) 

angular.module('starter') 

2つの全く異なる概念です。 []はメソッドをセッターメソッドに変換します。意味スターターモジュールの新しいインスタンスを作成します。しかし、3番目の括弧を使用しないと、すでに宣言されているモジュールを返すことを意味するgetterメソッドになります。

ザッツはなぜあなたは詳細が働いhere

3

お使いのコントローラが誤って宣言されています。コントローラの作成中にモジュールからインジェクタを取り外します。何かのように

angular.module('starter') 
.controller('LoginCtrl', function($scope, LoginService, $ionicPopup, $state) { 
    //... 
}); 

これらの理由から、あなたのモジュールを別々のファイルに作成するのが最善です。だから、あなたが持っているでしょう

module.js

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

config.jsの

angular.module('starter').config(function(){}); 

controller.js

angular.module('starter').controller('', function(){}); 
+1

には必要ありません、これは実際にモジュールの作成 – devqon

+1

ある場合は、同じモジュールが二度作成していないことができ – mbeso

+1

くそー右見ていない、あなたは彼が二度 – devqon

0
angular.module('starter', ['ionic']) , 

このコードは、スターターという名前の角型アプリのインスタンスを作成します。アプリのインスタンスを1回だけ作成する必要があります。あなたはここで2回作成しました。

のみコントローラまたは設定を宣言しながら、アプリケーションを使用する

angular.module('starter') 

を使用します。最初にインスタンスを作成してから使用するように注意してください。

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

が最初に実行される部分に使用するべきであることを意味 。

関連する問題