2014-10-16 178 views
9

我發送請求到服務器,並希望收到響應後有條件地重定向到另一個頁面(不是角度)。因此導航發生在承諾的then部分內。

我想:

$location.path(url) 

$window.location.href = url; 
$windo.location.reload(); 

沒有什麼作品。

但是,如果我將這兩個調用中的任何一個與setTimeout(navigate,0)重定向發生。
在摘要循環期間看起來像Angular guards url。

任何人都可以澄清或分享鏈接,解釋真正發生的事情。

+1

可能是一些角度消化相關的東西。這應該工作正常,我認爲:'window.location.href = url;'。 – dfsq 2014-10-16 14:02:51

+1

@dfsq是的,這工作=)但它就像「使用武力,盧克」=) – 2014-10-16 14:32:43

+0

很酷,很高興幫助! – dfsq 2014-10-16 14:43:18

回答

1

做變更後,結束了承諾處理程序之前,嘗試做:

$scope.$$phase || $scope.$apply(); 

這應該填充變化。

+0

好吧,它在摘要週期內執行。經過幾次重新啓動和CTrl + F5它只是簡單的更新$ window.location.href。不明白爲什麼。 – 2014-10-16 15:56:28

相關問題