2014-11-27 2 views
0

AngularJS에 익숙하지 않으며 Firebug 콘솔에서 위의 오류가 계속 발생합니다. 내 코드 :인수 'titleCtrl'이 (가) 정의되지 않은 함수입니다.

index.html을 :

<html ng-app manifest="/manifest.appcache"> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <script src="/public/js/angular.js"></script> 
 
    <script src="/public/js/client/spa_common.js"></script> 
 
    <!-- snip --> 
 
</head> 
 

 
<body> 
 
    <div id="main"> 
 
    <h1 ng-controller="titleCtrl">{{title}}</h1> 
 
    </div> 
 
</body> 
 

 
</html>

spa_common.js :

"use strict" 
 

 
angular 
 
    .module('title_stuff', []) 
 
    .service('titleSvc', ['$rootScope', 
 
    function($rootScope) { 
 
     this.getTitle = function() { 
 
     return ('Dashboard'); 
 
     } 
 
    } 
 
    ]) 
 
    .controller('titleCtrl', ['titleSvc', '$scope', 
 
    function(titleSvc, $scope) { 
 
     $scope.title = titleSvc.getTitle(); 
 
    } 
 
    ]);

내가 Node.js를 renderi에서이를 실행하고 index.html과 Jade를 함께 사용하십시오.

로컬의 angular.js와 spa_common.js가 모두로드되고 있는지 확인할 수 있습니다. 내가 읽은 바로는

:

  • NG-응용 프로그램 값이 모듈 이름이 무엇으로 설정할 수 있습니다
  • 을 설정할 필요하지 않으며, []
  • 를 생략하여 재사용 할 수 있습니다
  • 당신은 컨트롤러의 이름은 HTML 태그의 NG 컨트롤러 지시어와 일치해야합니다
  • 컨트롤러의 인수 배열에 모듈 이름을 주입

나는 며칠 동안 내 머리를 벽에 치고 있었다. 누군가가 해결책을 갖고 있기를 바랍니다.

+0

중복 가능 : [Link] (http://stackoverflow.com/questions/19408011/angularjs-error-argument-firstctrl-is-not-a-function-got-undefined). –

+0

의견을 주셔서 감사합니다. 나는 그 질문을 사전에 살펴 보았지만, 내 애플 리케이션은 하나 (무명 - 나는 아무 소용이 없습니다.) ng-app 지시어 만 가지고 있고 나는 닫는 태그를 두 번 체크했다. – Hellfire

+0

응용 프로그램의 모듈 (예 : ng-app = 'title_stuff')을 ng-app 지시문에 넣거나 spa_common.js (예 : fiddle) 끝에 수동으로 부트 스트랩하여 응용 프로그램을 자동 부트 스트랩 할 수 있습니다 : http://jsfiddle.net/themyth92/4j9zok15/). 참조 : https://docs.angularjs.org/guide/bootstrap – themyth92

답변

0

"use strict" 
 

 
angular 
 
    .module('title_stuff', []) 
 
    .service('titleSvc', ['$rootScope', 
 
    function($rootScope) { 
 
     this.getTitle = function() { 
 
     return ('Dashboard'); 
 
     } 
 
    } 
 
    ]) 
 
    .controller('titleCtrl', ['titleSvc', '$scope', 
 
    function(titleSvc, $scope) { 
 
     $scope.title = titleSvc.getTitle(); 
 
    } 
 
    ]);

<html ng-app manifest="/manifest.appcache"> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <script src="/public/js/angular.js"></script> 
 
    <script src="/public/js/client/spa_common.js"></script> 
 
    <!-- snip --> 
 
</head> 
 

 
<body> 
 
    <div id="main"> 
 
    <h1 ng-controller="titleCtrl">{{title}}</h1> 
 
    </div> 
 
</body> 
 

 
</html>

<!-- begin snippet: js hide: false -->

<html manifest="/manifest.appcache"> 

<head> 
    <meta charset="utf-8"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script> 
    <script src="/public/js/client/spa_common.js"></script> 
    <!-- snip --> 
</head> 

<body ng-app="title_stuff"> 
    <div id="main"> 
    <h1 ng-controller="titleCtrl">{{title}}</h1> 
    </div> 
</body> 

</html> 
,
관련 문제