2013-07-24 20 views
6

Ben şaşırmış bağlamaya gezinirken değişmez: Böyle basit bir bağlantı var:angularjs görünümü izleyerek

<li><a href="#/foo">Foos</a></li> 

ama tıklandığında, görünüm güncellenen değildir. Tarayıcıdaki URL değişir, ancak hiçbir şey olmaz ve konsolda hiçbir şey görüntülenmez. URL'yi doğrudan tarayıcıya yüklerseniz, doğru sayfa yüklenir.

yolları aşağıdaki gibi:

app.config(function($routeProvider, RestangularProvider) { 
    $routeProvider 
     .when('/index', {templateUrl: 'assets/views/index.html'}) 
     .when('/foos', {templateUrl: 'assets/views/list.html', controller: controllers.FooListCtrl}) 
     .when('/foos/create', {templateUrl: 'assets/views/update.html', controller: controllers.FooUpdateCtrl}) 
     .when('/foos/:id/update', {templateUrl: 'assets/views/update.html', controller: controllers.FooUpdateCtrl}) 
     .otherwise({redirectTo: '/index'}); 

    RestangularProvider.setBaseUrl("/admin"); 
}); 
+0

href yerine ng-href'i denediniz mi? – user700284

+0

Evet, ama başarı olmadan –

+0

Kodunuzun biraz daha fazlasını gösterebilir ya da sorunun yeniden üretilebileceği bir plunkr kurabilir misiniz? – user700284

cevap

4

Ok, görünüşe göre, bu known issue of sorts olup: locationProvider (yani $location) bir kontrol ünitesi ile enjekte edildiğinde, bağlantılar genel olarak çalışma sona erdirilmiştir. Bir geçici çözüm jQuery aracılığıyla bağlantıları yeniden yazmak gibi görünüyor ve bu çalışır:

app.run(function($rootScope) { 
    $('[ng-app]').on('click', 'a', function() { 
     window.location.href = $(this).attr('href'); 
    }); 
}); 
+0

Benim için çalıştı. Teşekkür ederim Sr. –