Hello!
After my last ionic update (didnt updated for a while), I have tried to launch my app, And I have many Errors while I’m using in some of my app’s functions.
Here is one of the errors I have after, I’ve updated ionic:
Error: updateUserDetails is not defined
$scope.register/<@http://localhost:8100/js/controls/loginCntrls.js:126:21
processQueue@http://localhost:8100/lib/ionic/js/ionic.bundle.js:27879:28
…
and here is my login controller:
angular.module(‘starter.controllers’)
.controller(‘loginCtrl’, function($scope, $rootScope, $state, $fbHelper, $ionicLoading, $uiHelper, $api, $ionicHistory, $parsePush) {
$scope.user = { email: "", password: "" };
function handleInputError(emailVal, passwordVal){ var errorMsg = ''; if(!emailVal){ errorMsg = 'Please insert a valid email address'; } else if(!passwordVal) { errorMsg = 'Please insert your password'; } if(errorMsg) { $uiHelper.popError("", errorMsg, function(){}); } }
function goToFeed(){ $state.go('app.feeds.latest', {type: "getLatestQuestions", reload: true}); }
function updateUserDetails(data){ $rootScope.$broadcast('user:updated',{userId : data._id, userPicture: data.picture, userName: data.name, gender: data.gender}); }
…
.controller(‘registerCtrl’, function ($scope, $rootScope, $state, $ionicLoading, $uiHelper, $api, $ionicHistory, $parsePush) {
console.log(“init registerCtrl”);
$scope.user = { email: "", nickname: "", password: "", verify: "", gender: "m" };
function handleInputError(passwordVal, verifyVal){ var errorMsg = ''; if($scope.user.email == undefined){ errorMsg = 'Please insert a valid email address'; } else if(passwordVal && verifyVal && passwordVal != verifyVal){ errorMsg = 'Password do not match'; } else { errorMsg = 'Missing details'; } if(errorMsg) { $uiHelper.popError("", errorMsg, function(){}); } }
$scope.register = function($event){ $event.target.blur();
var emailVal = $scope.user.email, nicknameVal = $scope.user.nickname, passwordVal = $scope.user.password, verifyVal = $scope.user.verify, genderVal = $scope.user.gender;
if(!emailVal || !passwordVal || !nicknameVal || !verifyVal || !genderVal || passwordVal!= verifyVal ){ handleInputError(passwordVal, verifyVal); return; }
$ionicLoading.show(); $api.register(emailVal, nicknameVal, passwordVal, genderVal).then(function(data){ if(data && data.error){ $uiHelper.popError("", data.error, function(){}); } else if(data && data._id){ updateUserDetails(data.user); //HERE is the error I have $ionicHistory.nextViewOptions({disableBack: true}); $parsePush.initParseNotifications(); goToFeed() } $scope.user.email = ""; $scope.user.gender = "m"; $scope.user.nickname = ""; $scope.user.password = ""; $scope.user.verify = ""; $ionicLoading.hide(); }); } });
as you can see, I have two controllers under the same file, and I’m trying to call a function that exist on the first controller, from the second controller (It used to work, and today its gives me the error).
I have tried to move this function to external service and call this service with the function, and its working, but that means I will have to change my entire project and move everything (Variables, and functions).
did you reproduce such issue? any idea how can I fix it?
Thank you!