В моем коде location.path("#/") не работает, я много пробовал, но я не понимаю, почему он не работает. Существует простая логика, которая после успешного всплывающего окна регистрации закрывается, а плагин уведомлений должен видеть уведомление.
Я ударил в этом с 4 часов.
Зарегистрироваться
(function () {
'use strict'
/*
* Signup Controller
* @param {$scope} Object
* @return
*/
function SignupCtrl($scope, $location, $window, $timeout, UserService, notifications) {
//$scope.captchaError=false;
//$scope.passwordPattern = '((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,})';
$scope.doRegistration = function () {
console.log("form validation status:" + $scope.frmSignup.$valid);
if (true === $scope.frmSignup.$valid) {
console.log("validation successfully executed");
UserService
.register($scope.user)
.error(function () {
angular.element('#btnCancelSignup').triggerHandler('click');
notifications.showError({
message: 'Ooops! there is error occured, please try again.',
hideDelay: 1500, //miliseconds
hide: true // boolean
});
$location.path("#/");
})
.then(function (res) {
if (res.data.status === 1) {
console.log("success in registration");
angular.element('#btnCancelSignup').trigger('click');
notifications.showSuccess({
message: 'Please check your email to complete registration.',
hideDelay: 1500, //miliseconds
hide: true // boolean
});
$location.path("#/");
if(!$scope.$$phase) $scope.$apply();
}
Recaptcha.reload();
});
}
}
}
angular
.module('AppWhizbite')
.controller('SignupCtrl', ['$scope', '$location', '$window', '$timeout', 'UserService', 'notifications', SignupCtrl]);
}());
От $ location doc:
Это не приводит к полной перезагрузке страницы при изменении URL-адреса браузера. Чтобы перезагрузить страницу после изменения URL-адреса, используйте API нижнего уровня, $ window.location.href.
поэтому постарайтесь:
$window.location.href = '/';
Попробуйте следующее
$scope.$apply(function() {
$location.path('/');
});
Вот еще одно сообщение, которое вы могли бы прочитать для лучшего понимания. Угловое $ location.path не работает
$location.hash('/')