2013-04-02 16 views
5

Angular.js uygulamasında yeniyim ve yönlendirmeye çalışıyorum ama benim uygulamasında ikinci körük rotası listController numaralı telefonu aramıyor, bu yüzden verileri geri alamıyorum.Açısal denetleyici çağrılmıyor

Birçok çalışma örneğindeyim, ancak bunun neden uygulamada çalışmıyor olduğunu anlayamıyorum. Şablonu /Categories/SixGrid numaralı telefondan aldım ancak kontrol cihazının aranmadığından bahsedildiği gibi. Yanlış yapmadığım bir şey var mı? Ya da hiç kimsenin bu neden işe yaramayacağı konusundaki bilgilerini paylaşabilir mi?

Güncelleme kod:

angular.module('App', ['App.Controller']). 
    config(['$routeProvider', function ($routeProvider) { 
     $routeProvider.when('/', { templateUrl: '/Home/Splash' }); 
     $routeProvider.when('/Categories/List/:slug', { templateUrl: '/Categories/SixGrid', controller:'listController' }); 
    }]); 

angular.module('App.Controller', []) 
    .controller("listController", function ($scope, $http) { 
     $http.get('../../api/cat/' + $routeParams.slug).success(function (data) { 
        $scope.products = data; 
       }); 
}); 
+0

Şablonu aldığınızı söylüyorsunuz rotanız "Kategoriler/Liste" öğesinden dönerken, şablonun "Kategoriler/AltıGrid" öğesinde bulunduğunu belirtir. Nasıl olur? Ayrıca, ikinci rotanızda yabancı bir virgül var. Ayrıca, bir hataya neden olmamasına rağmen, '../../' yolunuz API çağrısı için biraz nadirdir. – Stewie

+0

Teşekkürler Stewie, bir yazım hatası oldu. Kategoriler/SixGrid, geri gelen doğru şablon. Ayrıca virgül kaldırıldı. Api rotası şu anda ideal değil ama hala dev'in – ojhawkins

+2

ilk aşamalarında şablonunuzu gösterebilir miyim. Kodunu jsfiddle'a koy. böylece insanlar onunla oynayabilir ve neyin daha çabuk olduğunu daha çabuk bulabilirler :) – nXqd

cevap

5

deneyin tırnak içinde kontrolör adını sarmak için:

$routeProvider.when('/Categories/List/:slug', { 
    templateUrl: '/Categories/SixGrid', 
    controller: 'listController' 
}); 

Ayrıca iyi bir uygulama bu arada denetleyicileri tanımlamaktır (küresel kapsamı temiz kalır çünkü):

angular.module('App').controller("listController", function() { 
    //controllerCode 
}); 
+0

Teşekkürler @ ardentum-c. Hala şans yok, yukarıdaki kodu şu an sahip olduğum şeye güncelledim. Sorun başka bir yerde olabilir mi? – ojhawkins