2013-10-29 5 views
0

Angular JS의 새로운 기능이므로 내게 맨손입니다. 이 컨트롤러는 잘 작동합니다 : 나는 그것이 자신의 JS 파일의 컨트롤러를 만들 때 더 이상 작동하지 않습니다Angular JS - JS 파일에서 조절기로드하기

function airlineRouter($routeProvider) { 
    $routeProvider 
     .when('/', 
      { 
       templateUrl:"partials/destinations.html", 
       controller: function($scope) { 
        $scope.setActive('destinations'); 
       } //end controller 
     }); 
} //end airlineRouter 

.

function airlineRouter($routeProvider) { 
    $routeProvider 
     when('/', 
      { 
       templateUrl:"partials/destinations.html", 
       controller: "DestinationsCtrl" 
      }); 
} //end airlineRouter 

내 컨트롤러 파일 내 'app.js'파일이있는 동일한 폴더는 '루트 /의 JS/컨트롤러/destinations.js'에있는이처럼. 전체 'app.js'파일은 다음과 같습니다

angular 
    .module('airline', ['ngRoute']) 
    .config(airlineRouter); 

function airlineRouter($routeProvider) { 
    $routeProvider 
     .when('/', 
      { 
       templateUrl:"partials/destinations.html", 
       controller: "DestinationsCtrl" 
      } 
     ); 
} //end airlineRouter 

내 전체 컨트롤러 JS 파일은 다음과 같다 :

function DestinationsCtrl($scope) { 
    $scope.setActive('destinations'); 
} //end DestinationsCtrl 

왜 것이 혀의 I와 같은 함수 이름으로 나의 컨트롤러의 부하 뭐하는거야? 혀의 파일이 효과가있는 것 같습니다. 내 것이 아니야. 도움과 감사!

편집 : 인수 'DestinationsCtrl'없는 기능입니다

정의되지 않은 편집이있어 : [AREQ NG :]가 : 오류 : 콘솔 로그이 표시 나는 '중첩 스코프'불렀다 작업 된 혀, 경우 누구에게 내가 뭘하려고하는지 더 잘 알게 해줍니다.

+0

로딩 순서는 무엇입니까? – charlietfl

+0

하나의 제안은 'app.controller ('DestinationsCtrl ', function ($ scope) ...' – charlietfl

+0

oops ...'var app의 'var app = module ('항공사 '...' = angular.module ('항공사'... 왼쪽으로 '각을 치지 않음' – charlietfl

답변

1

내가 말했듯이, 나는 AngularJS에 처음 왔고, 나는 바보 같은 사람이다. 내 외부 JS 스크립트 링크를 내 <head> 내 index.html 파일에 넣고 아니었다. 그게 전부 야. 나는 이것을 간과했다고 믿을 수 없다.

0

는 컨트롤러 선언을 변경하려고 : 예상대로

angular.module('airline') 
     .controller('DestinationsCtrl',function($scope){ 
     $scope.setActive('destinations'); 
     }); 

다음이 컨트롤러가 작동합니다.

희망이 도움이 될 것입니다.

+0

이 부분의 목적은 컨트롤러가 외부/분리 된 파일. 첫 번째 예제가 작동하지만 일단 외부 파일 (위의 경로 참조)로 이동하면 볼 수 없습니다. 논리를 관리/재사용하는 정말 좋은 방법 인 것 같습니다. 방금 막혔습니다. – Brent