2014-10-12 1 views
4

ngRoute을 포함시킨 후 $injector:modulerr 오류가 발생했습니다. 사용 AngularJS와 1.2.26


var app = angular.module('myApp', ['ngRoute']); 
app.config(function ($routeProvider) { 
    $routeProvider.when('/', {controller: indexController1, templateURL: 'index1.html'}); 
    $routeProvider.when('/view/:id', {controller: indexController2, templateURL: 'index2.html'}); 
    $routeProvider.otherwise({redirectTo: '/'}); 
}); 
app.controller('indexController1', function ($scope) { .... } 
app.controller('indexController2', function ($scope, $routeParams) { .... } 

HTML 템플릿 코드에서 몇 가지 문제가 있습니다

<html ng-app="myApp"> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-route.min.js"></script> 
<script src="app.js"> 
</head> 
<body> 
<div ng-view></div> 
</body> 
</html> 

+0

포스트 오류의 전체 스택 추적. 개발 중에는 축소 된 파일을 사용하지 마십시오. 그리고 이것에 대해 생각해보십시오. indexController1과 indexController2라는 변수를 정의 했습니까? 그렇다면 어떻게 사용할 수 있습니까? –

답변

2

:

의 .config가

다시 </script> 가까운 누락 컨트롤러

var app = angular.module('myApp', ['ngRoute']); 

app.config(function ($routeProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl: 'index1.html', 
     controller: 'indexController1' 
    }) 
    .when('/view/:id', { 
     templateUrl: 'index2.html', 
     controller: 'indexController2' 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 
}); 

app.controller('indexController1', function ($scope) { 

}); 

app.controller('indexController2', function ($scope, $routeParams) { 

}); 

HTML

);을 닫는 누락 따옴표

사이의 컨트롤러의 $routeProvider

이름을 정의하는 대신 중첩 .when를 사용한다 꼬리표. 여기

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-route.min.js"></script> 
<script src="app.js"></script> 

확인 작업 예를 ngRoute

+0

고마워. 작성한 코드를 변경 한 후에도 여전히 문제가 있었지만 나중에 Plunker에서 주된 문제를 보내고 발견 한 코드를 보았습니다. 문제는 routeProvider에서 컨트롤러 이름 (함수를 참조)을 문자열에 쓰는 것이 아니라 ('controllerName'문자열이어야 함). – KaA6438

+0

예. 그게 내 대답이기도하다. 문제를 해결하는 데 도움이 되었다면 답을 표시하십시오. – blfuentes