저는 Angular.js에 익숙하며 라우팅을 작동 시키려고 노력하고 있습니다. 그러나 내 앱에서는 두 번째 벨로우즈 라우트가 listController
을 호출하지 않으므로 데이터를 다시 가져 오지 못합니다.각형 컨트롤러가 호출되지 않음
많은 실습 예제를 거쳤지만 내 응용 프로그램에서이 기능이 작동하지 않는 이유는 무엇입니까? 내가 템플릿을 다시 /Categories/SixGrid
얻을하지만 언급 한 컨트롤러가 호출되지 않는 것. 내가 잘못하고있는 것이 분명하지 않습니까? 아니면 아무도 왜 이것이 작동하지 않을지에 대한 지식을 공유 할 수 있습니까?
업데이트 코드 :
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;
});
});
'Categories/List'에서 다시 돌아 오면 경로는'Categories/SixGrid'에서 템플릿이 발견되도록 지정합니다. 어째서? 또한 두 번째 경로에는 쉼표가 필요합니다. 덧붙여서, 당신의'../../'경로는 에러를 일으키지 않아도, API 호출에는 드물다. – Stewie
감사 Stewie, 맞춤법 오류가 발생했습니다. 'Categories/SixGrid'는 되돌아 오는 올바른 템플릿입니다. 또한 쉼표를 제거했습니다. Api 경로는 현재 이상적은 아니지만 개발자의 초기 단계에 있습니다 – ojhawkins
템플릿을 표시 할 수 있습니까? jsfiddle에 코드를 넣는 것이 좋습니다. 사람들은 그것을 가지고 놀 수 있고 더 빨리 무엇이 잘못되었는지를 발견 할 수 있습니다 :) – nXqd