3secs后的angular $ timeout重定向

时间:2015-12-08 12:15:46

标签: javascript angularjs

我尝试使用$ 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);
            })
    }

1 个答案:

答案 0 :(得分:0)

有很多方法可以做你想做的事......

在我看来,最好的办法是使用路由器公开的界面(假设您使用的是路由器)......

这是一篇基于 UI.Router Angular - ui-router get previous state的有用帖子,因此,您只需使用{{1}转到上一个状态}};

如果你不能做那样的话,唯一的办法就是使用真正的$state.go对象......

history