好的,所以我在其他项目中已经做过一百次了,但是由于某些原因,我在$ionicPopup.show({})
上总是遇到错误
我在ng-click HTML中调用了loginPressed()
这是我得到的错误:TypeError: $ionicPopup.show is not a function
这是控制器的代码,Ionic的版本为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);
})
};
}])
任何帮助将不胜感激。
最佳答案
控制器功能参数与数组中字符串的顺序不匹配。
改成:
['$scope', '$stateParams', '$ionicPopup', '$rootScope', '$state',
function ($scope, $stateParams, $ionicPopup, $rootScope, $state) {
关于javascript - $ ionicPop.show()失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41527009/