2016-12-03 10 views
1

次のテンプレートコードのng-clickはコントローラのloginFacebook()関数を呼び出さないのですか?テキスト 'loginFacebook ...'はJavascriptコンソールには表示されません。ng-clickはionicで関数を呼び出しませんか?

slogin.html

<ion-view title="Login" id="page100"> 
    <ion-content> 
     <a class="button" ng-click="loginFacebook()"> 
      Sign In With Facebook 
     </a> 
    </ion-content> 
</ion-view> 

コントローラ:

.controller('LoginCtrl', ['client', function ($scope, $state, client) { 
    $scope.loginFacebook = function() { 
     console.log('loginFacebook...') 
     client.login("facebook").then(function succes(data){ 
      console.log('logged in succesfully..') 
      $state.go('menu.events'); 
     }, function(error){ 
      console.log('login failed.'); 
     }); 
    }; 
}]) 

routes.js

.state('menu.login', { 
    url: '/login', 
    views: { 
     'side-menu21': { 
      templateUrl: 'templates/slogin.html', 
      controller: 'LoginCtrl' 
     } 
    } 
    }) 

答えて

2

あなたが不足していますお使いのコントローラがあるべき注入

の順に$scope$state

.controller('LoginCtrl', ['$scope','$state','client', function ($scope, $state, client) { 
     $scope.loginFacebook = function() { 
      console.log('loginFacebook...') 
      client.login("facebook").then(function succes(data){ 
       console.log('logged in succesfully..') 
       $state.go('menu.events'); 
      }, function(error){ 
       console.log('login failed.'); 
      }); 
     }; 
    }]) 
関連する問題