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