2017-05-01 6 views
0

나는 실종 된 것을 알고 있지만 어떻게해야할지 모른다. 컨트롤러가 등록되지 않았습니다 - 경로를 알려주는 방법?

나는 다음과 같은 구성 요소에서 내 각 응용 프로그램을 구성 : 내 app.js에

app -> components -> home -> home.html homeController.js homeService.js 
        -> contact -> contact.html contactController.js contactService.js 
app.js 
index.html 

내가 그것을 할 수있는 일반적인 방법을 사용합니다.

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

appModule.config(function($routeProvider, $locationProvider) { 
    $routeProvider 

    .when('/', { 
     templateUrl : 'components/home/home.html', 
     controller : 'homeController', 
    }) 
    .when('/contact', { 
     templateUrl : '/components/contact/contact.html', 
     controller : 'contactController', 
    }) 

    $locationProvider.html5Mode(true); 
}); 

문제점은 각 컨트롤러를 찾을 수 없다는 것입니다. 당신이 그것을 수행하는 방법 :) 알고있는 경우

감사합니다 공유 ... 나는 'templateUrl'와 HTML 경로를 정의 할 수 있습니다,하지만 난 어떤 controllerUrl를 찾지 못했습니다

+0

당신의 컨트롤러가 무엇처럼 보이나요? – DDelgro

+0

AngularJS는 의존성 주입을 사용하므로 컨트롤러에 대한 경로를 지정하지 않아도됩니다. 그러나 컨트롤러 자바 스크립트 파일은 스크립트 태그가 포함 된 HTML에 포함되어야합니다. –

답변

1

그것은 컨트롤러를 지정할 필요는 없습니다 통로. conntroller.js 파일을 index.html 파일에서 참조하십시오. 각도가 생성 된 각도 모듈을 사용하여 컨트롤러를 자동으로로드합니다.

index.html을

<body> 

<script src="app/components/home/homecontroller.js"></script> 
<script src="app/components/contact/contactcontroller.js"></script> 
</body> 
</html> 
+0

고맙습니다. 컨트롤러 경로를 참조하여 색인에 include를 추가하는 것을 피할 수있는 솔루션이 필요했습니다. 감사합니다. :) – Chim

+0

@Chim : 요청시 컨트롤러를로드하려면 requirejs를 사용하십시오. – Kalyan

+0

https://www.sitepoint.com/using-requirejs-angularjs-applications/ – Kalyan