2016-08-17 4 views
0

내 응용 프로그램을 실행할 때 오류가 발생합니다. 'AppCtrl'인수가 정의 된 함수가 아닙니다. 컨트롤러 파일의 분리와 관련이 있다고 생각합니까?AngularJS 컨트롤러 파일 분리?

좋아, 그래서 내 첫 번째 파일에 있습니다 :이 app.js : - 거기 AppCtrl이 파일을 수 있습니다 -

angular.module('zerochili', [ 
    'ionic', 
    'zerochili.controllers', 
    'zerochili.services', 
    'zerochili.directives' 
]) 

그럼 난 몇 가지 다른 컨트롤러 파일을 한 이는 다음과 같습니다 :

angular.module('zerochili.controllers', []) 

.controller('AppCtrl', ['$scope', '$ionicModal', '$timeout', function ($scope, $ionicModal, $timeout){ 


}]) 

그래서 같은 다른 파일 FX :

angular.module('zerochili.controllers', []) 
.controller('LoginCtrl', ['$scope', '$state', '$ionicPopup', '$timeout', function($scope, $state, $ionicPopup, $timeout){ 

}]); 

내가 잘못 뭐하는 거지? Cant가 그것을 알아 낸 것 같습니다.

답변

1

app.js는 모듈을 정의하는 부분으로 생각할 수 있습니다. 컨트롤러 파일은 모듈에 추가되어야합니다 (이 모듈을 만들 때 ","가 없습니다).

는 당신은 아마

angular.module('zerochili') 
.controller('AppCtrl', etc. 

그래서 컨트롤러에이 일을해야

,이 제거 : app.js에서 'zerochili.controllers', 'zerochili.services', 'zerochili.directives를'을 추가하여 컨트롤러, 서비스 및 지시문을 위와 같이 'zerochili'모듈에 추가합니다.

예를 들어 'zerochili.controllers'를 유지하려면이 모듈을 두 번 만들지 말아야합니다. 즉, angular.module ('zerochili.controllers', [])을 두 번 사용하지 마십시오. 당신이 []

로 새로운 MODUL을 생성하기 때문에

+0

따라서 zerochili.controllers를 참조하는 대신 zerochili만을 참조해야합니다. 이것이 app.js에서 수행하는 작업입니다. 실제로 []를 넣을 때마다 – nuffsaid

+0

은 새로운 모듈 – DMCISSOKHO

+0

을 생성합니다. 트릭을 수행하는 것처럼 보였습니다. Thx man .... – nuffsaid

1

angular.module('zerochili.controllers', []); 
angular.module('zerochili.directives', []); 
angular.module('zerochili.services', []); 

다음은 다음과 같이 사용 당신이 당신의 app.js의 말에 넣을 수 있습니다 만의 :

angular.module('zerochili.controllers')...