簡體   English   中英

3秒后,角度$ timeout重定向

[英]angular $timeout redirect after 3secs

我正在嘗試使用$ 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);
            })
    }

有很多方法可以做您想要的...

我認為最好的方法可能是使用路由器公開的接口(假設您使用的是路由器)...

這是一個基於UI的有用文章。Router Angular-ui-router獲得先前狀態 ,因此,您只需要使用$state.go進入先前狀態$state.go

如果您不能做這樣的事情,那么唯一的方法就是使用真實history對象。

 vm.submitForm = function () { var returnUrl; enquireService .postEnquireForm(vm) .then(function (response) { var returnUrl = response.returnUrl; if (!vm.hideEnquiryForm) { vm.hideEnquiryForm = true; } return $timeout(window.history.back.bind(window), 3000); }); }; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM