我尝试使用$ timeout和$ window.history.back()重定向回上一页。因此,当提交表单时,会显示一条消息(谢谢... bla bla),这一切都很好,但是当重定向时,$ timeout似乎没有启动。
<div class="thankyou" data-ng-show="vm.hideEnquiryForm">
<h3><i class="fa fa-envelope fa-x2"></i> Thank you for enquiring, we will get back to you as soon as possible.</h3>
<a href="javascript:history.back()">Return</a>
</div>
vm.submitForm = function () {
enquireService.postEnquireForm(vm)
.then(function (response) {
//$location.path(vm.returnUrl);
//console.log($location.path() + ' '+ vm.returnUrl);
if (!vm.hideEnquiryForm) {
vm.hideEnquiryForm = true;
}
$timeout(function () {
$window.history.back;
}, 3000);
})
}
答案 0 :(得分:0)
有很多方法可以做你想做的事......
在我看来,最好的办法是使用路由器公开的界面(假设您使用的是路由器)......
这是一篇基于 UI.Router Angular - ui-router get previous state的有用帖子,因此,您只需使用{{1}转到上一个状态}};
如果你不能做那样的话,唯一的办法就是使用真正的$state.go
对象......
history