[英]Angular app only redirects after second click event
我遇到了一个问题,即我的应用仅在第二次on click
事件后才会重定向。 我已经在所有代码中放置了控制台日志,并且可以在location.path()
调用之后看到我设置的日志。
在第二次on click
事件中,应用程序将立即重定向(在searchTeam
函数有机会完成之前)。 有什么想法我做错了吗? 下面是代码。
function SearchController($scope, $location, API, ENV, SignUpShared) {
var vm = this;
vm.cdnBaseUrl = ENV.cdnBaseUrl;
vm.shared = SignUpShared;
vm.shared.emailConfirmation = undefined;
vm.submit = function() {
if($scope.emailAddress && $scope.emailAddress.trim().length > 0) {
API.searchTeam($scope.emailAddress).then(function() {
vm.shared.emailType = vm.shared.FIND_TEAM;
vm.shared.emailConfirmation = $scope.emailAddress;
$location.path("/emailconfirmation");
});
}
};
}
SearchController.$inject = ["$scope", "$location", "API", "ENV", "SignUpShared"];
AngularJS事件句柄超时可能是问题。 尝试下面的代码,希望对您有用。
if($scope.emailAddress && $scope.emailAddress.trim().length > 0) {
API.searchTeam($scope.emailAddress).then(function() {
vm.shared.emailType = vm.shared.FIND_TEAM;
vm.shared.emailConfirmation = $scope.emailAddress;
$timeout(function () {
$location.path("/emailconfirmation");
}, 0);
});
}
另外,相应地更新注入数组。
SearchController.$inject = ["$scope", "$location", "API", "ENV", "SignUpShared", "$timeout"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.