私のコードでlocation.path( "#/")が動作しませんでした。私はたくさん試しましたが、なぜ動作しないのか分かりません。成功したサインアップ後にポップアップが閉じ、通知バープラグインに通知が表示されるという単純なロジックがあります。location.path( "#/")が動作していません
私はこれを4時間から打ちました。
$scope.$apply(function() {
$location.path('/');
});
を次のように
Signup
(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.hash( '/')' –
@ LuisMasuelli:あなたの答えに感謝します。しかし、それは動作していません。 http:// localhost:1000 /#/#%2F –
注意「#/」の代わりに「/」を使用しました。 –