2017-01-07 2 views
0

Ok так что я сделал в других проектах это сто раз, но по какой-то причине, я получаю сообщение об ошибке на $ionicPopup.show({})

У меня есть нг-щелчок в HTML, который вызывает loginPressed()

Это ошибка, я получаю: TypeError: $ionicPopup.show is not a function

Вот код для контроллера и версии ионные является 1.3.2:

.controller('loginCtrl', ['$scope', '$stateParams', '$ionicPopup', 
'$rootScope', '$state', 
function ($scope, $ionicPopup, $stateParams, $state) { 
    $scope.$on("$ionicView.loaded", function (event, data) { 
    console.log("called ionicView loaded"); 
    $scope.data = {}; 
    var num = Math.floor((Math.random() * 5) + 1); 
    $scope.data.bgImage = "url(img/bg" + "-" + num + ".jpg)"; 
    }); 
    $scope.loginPressed = function() { 
    console.log($ionicPopup); 
     var loginPopUp = $ionicPopup.show({ 
     template: '<input type="email" ng-model="data.email"> <input type="password" ng-model="data.model"> ', 
     title: 'Login', 
     scope: $scope, 
     buttons: [ 
     {text: 'Cancel'}, 
     { 
      text: '<b>Login</b>', 
      type: 'button-dark', 
      onTap: function (e) { 
      if (!$scope.data.email || !$scope.data.password) { 
       e.preventDefault(); 
      } else { 
       return $scope; 
      } 
      } 
     } 
     ] 
    }); 
    loginPopUp.then(function (res) { 
     console.log('Tapped!', res); 
    }) 
    }; 
}]) 

Любой ч elp будет очень благодарен.

ответ

2

Параметры функции контроллера не соответствуют порядку строк в массиве.

Изменить на:

['$scope', '$stateParams', '$ionicPopup', '$rootScope', '$state', 
function ($scope, $stateParams, $ionicPopup, $rootScope, $state) { 
+1

Я чувствую себя такой болван! Я забыл этот порядок. Спасибо огромное! – mdominick

+0

@mdominick Добро пожаловать :) – tasseKATT

Смежные вопросы