2013-07-24 21 views
6

मैं विस्मित कर रहा हूँ से जोड़ने के लिए का पालन करके नेविगेट: मैं इस तरह एक सरल लिंक है:AngularJS दृश्य परिवर्तन नहीं करता है जब

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

लेकिन जब उस पर क्लिक करें, देखें अद्यतन नहीं किया गया है। ब्राउज़र में यूआरएल बदलता है, लेकिन कुछ भी नहीं होता है, और कंसोल में कुछ भी प्रदर्शित नहीं होता है। यदि मैं सीधे ब्राउज़र में यूआरएल लोड करता हूं, तो सही पेज लोड होता है।

मार्गों इस तरह दिखेगा:

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 के बजाय ng-href कोशिश की? – user700284

+0

हां, लेकिन सफलता के बिना –

+0

कोई भी मौका आप अपना कुछ कोड दिखा सकते हैं या यहां तक ​​कि एक प्लंकर भी स्थापित कर सकते हैं जहां समस्या को पुन: उत्पन्न किया जा सकता है? – user700284

उत्तर

4

ठीक है, तो जाहिरा तौर पर, यह एक known issue of sorts है: जब locationProvider (अर्थात $location) एक नियंत्रक को इंजेक्ट किया जाता है, लिंक विश्व स्तर पर काम करने के लिए बंद कर दें। एक वर्कअराउंड jQuery के माध्यम से लिंक को फिर से लिखना प्रतीत होता है, और यह काम करता है:

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

मेरे लिए काम किया। धन्यवाद श्रीमान –

संबंधित मुद्दे