Jestem nowym użytkownikiem Angular.js i próbuję uzyskać routing działający, ale w mojej aplikacji druga trasa nie nazywa się listController
, więc nie otrzymuję danych.Sterownik kątowy nie jest wywoływany
Przeszedłem przez wiele przykładów, ale nie mogę się domyślić, dlaczego to nie działa w mojej aplikacji? Dostaję szablon z powrotem /Categories/SixGrid
, ale jak wspomniano kontroler wydaje się nie być wywoływany. Czy jest coś oczywistego, że nie robię źle? A może ktoś może podzielić się swoją wiedzą na temat tego, dlaczego to nie działa?
Zaktualizowany 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;
});
});
Mówisz, że masz szablon wróć z 'Categories/List', podczas gdy twoja trasa określa, że szablon znajduje się w' Categories/SixGrid'. Dlaczego? Ponadto masz drugą przecinkę na swojej drugiej trasie. Dodatkowo twoja ścieżka '../../' jest dość rzadka dla wywołania API, chociaż nie powinno to powodować błędu. – Stewie
Dzięki Stewie, był błąd ortograficzny. 'Categories/SixGrid' to poprawny szablon, który wraca. Usunięto również przecinek. Trasa Api nie jest obecnie idealna, ale nadal znajduje się we wczesnej fazie dev – ojhawkins
możesz pokazać swój szablon. Lepiej umieść swój kod na jsfiddle. aby ludzie mogli się z tym bawić i szybciej dowiedzieć, co jest nie tak :) – nXqd