2014-07-14 3 views
0

routeProvider 서비스를 사용할 때 AngularJS의 특정 경로에 컨트롤러를로드하는 데 문제가 있습니다. 모듈을 선언 한 파일과 동일한 파일에 컨트롤러를 정의하면 컨트롤러가 제대로 작동하지만 컨트롤러를 별도의 파일로 만들려고합니다. 내가 별도의 파일에서로드하려고 할 때 컨트롤러를 찾을 수 없다는 오류가 발생합니다.routingProvider가 컨트롤러 양식과 작동하지 않습니다. 별도 파일

(pixelApp.js)

'use strict'; 

var pixelApp = angular.module('pixelApp',['ngRoute']) 
.config(function routing($routeProvider) 
{ 
    $routeProvider.when('/', 
     { 
      templateUrl: '../directory/home.html', 
      controller: 'homeCTRL' 
     } 
    ); 

    $routeProvider.otherwise(
     { 
      redirectTo: '/' 
     } 
    ); 
}); 

(homeCTRL.js) 내가 가진

'use strict'; 

pixelApp.controller('homeCTRL', 
    function homeCTRL($scope) 
    { 
     $scope.message = "Welcome to home."; 
    } 
); 

(index.html을)

<body> 

<ng-view></ng-view> 

<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script> 

<script type="text/javascript" src="js/angular.min.js"></script> 
<script type="text/javascript" src="js/angular-route.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 

<!-- App Module --> 
<script type="text/javascript" src="js/pixelApp.js"></script> 
<!-- App Module --> 

<!-- View Controllers --> 
<script type="text/javascript" src="js/controller/homeCTRL.js" /> 
<!-- View Controllers --> 



</body> 

: 여기

내 코드입니다 많은 시간을 들여 솔루션을 찾았습니다. 그것을 발견 할 수 없다면, 아무도 나를 도와 줄 수 없다면 크게 감사 할 것입니다. 나는이 문제를 추측

+0

는 어떻게 컨트롤러에 픽셀 응용 프로그램을 얻었 는가? – Delta

답변

1

당신은 use strict를 사용하여 정의되지 않은 변수를 참조하는

<script type="text/javascript" src="js/controller/homeCTRL.js"></script> 
+0

당신이 옳았습니다. 감사! 간단한 실수 때문에 시간을 보냈다. –

+0

**가 발생합니다. =) – Daniel

0

<script type="text/javascript" src="js/controller/homeCTRL.js" /> 

이어야 단순히 스크립트 태그

입니다.

(pixelApp.js)

var pixelApp = window.pixelApp = angular.module('pixelApp',['ngRoute']) 

...

(homeCTRL.js는)

window.pixelApp.controller(....) 
관련 문제