2014-10-16 9 views
9

Sunucuya istek gönderiyorum ve yanıt alındıktan sonra başka bir sayfaya (açısal değil) koşullu olarak yönlendirme yapmak istiyorum. Böylece navigasyon, bir sözün parçası olan then'un içinde gerçekleşir.

Denedim:

$location.path(url) 

ve

hiçbir şey inşaat
$window.location.href = url; 
$windo.location.reload(); 

.

Ancak bu iki çağrıdan birini setTimeout(navigate,0) ile değiştirirseniz yeniden yönlendirme gerçekleşir.
Sindirim döngüsü sırasında Açısal korumalar gibi görünüyor. Gerçekten ne olduğunu açıklayan linkleri açıklığa kavuşturabilir ya da paylaştırabilir mi?

+1

Muhtemelen açısal sindirimle ilgili bir şey. Bu iyi çalışması gerektiğini düşünüyorum: 'window.location.href = url;'. – dfsq

+1

@dfsq Evet, bu işler =) Ama sanki "Kuvvet kullan, Luke" =) –

+0

Serin, yardım etmekten memnun! – dfsq

cevap

1

değişikliği yaptıktan sonra, ve söz işleyicisi sonlandırmadan önce, şunu deneyin:

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

değişiklikleri doldurmak gerektiğini.

+0

iyi, bir sindirim döngüsü içinde yürütülür. Birkaç yeniden başlatmadan ve CTrl + F5'ten sonra, sadece $ window.location.href dosyasının basit bir güncellemesiyle çalışıyor. Anlamıyor musun neden. –