2015-01-14 3 views
-1

저는 AngularJS를 배우고 있으며 컨트롤러를 구현하는 동안이 오류가 발생했습니다.AngularJS : Argument 'Ctrl'은 정의되지 않은 함수입니다.

누군가 잘못된 정보를 지적 할 수 있습니까? (일부 기능은 사용되지 않습니다 않는 한이 튜토리얼에 표시된 것 같이 정확히 따라?)

나는 다음과 같은 오류 얻을 : I로 Argument 'Ctrl' is not a function, got undefined

HTML

<!DOCTYPE html> 
<html ng-app> 
<head lang="en"> 
<meta charset="UTF-8"> 
<title>AngularJS Controller</title> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"> </script> 

</head> 
<body> 
<div ng-controller="Ctrl"> 
    <input ng-model="name"> 
    <input ng-model="age"> 
    <h1>{{ name }}</h1> 
    <h1>{{ age }}</h1> 
</div> 

<script> 
    var Ctrl = function($scope) { 
     $scope.name = "Noob"; 
     $scope.age = "21"; 
    }; 
</script> 

+0

비슷한 질문 : http://stackoverflow.com/questions/19408011/angularjs-error-argument-firstctrl-is-not-a-function-got-undefined?rq=1 – zakangelle

+3

Do 그들은 여전히 ​​1.3에서 1.3 "컨트롤러로서의 기능"을 지원합니까? 아마도'angular.module (...). controller (function ($ scope) {...})'것을 사용 해보십시오. 또한,'$ scope' 인수가 없습니다. – Phil

+1

정확히 : 글로벌 함수로서 컨트롤러를 정의하는 기존의 메소드는 더 이상 사용되지 않습니다. (컨트롤러 프로 바이더를 참조하십시오 (https : // docs. angularjs.org/api/ng/provider/$controllerProvider)). 필이 제안한대로해라. –

답변

6

을 module.controller 메소드를 사용하여 컨트롤러를 정의해야한다는 것을 알고 있어야합니다. 예를 들어,을 myApp

<html ng-app="myApp"> 

로 응용 프로그램의 이름을 지정하고 JS 부분은 다음과 같습니다

angular.module('myApp', []) 
    .controller('Ctrl', ['$scope', function($scope) { 
     $scope.name = "Noob"; 
     $scope.age = "21"; 
    }]); 
+0

예, 동의합니다. 고맙습니다. – Rodion

+0

고마워요. 이 작동, 다른 모든 솔루션을 시도하고 여전히 동일한 오류가있었습니다. – Kincsem

+0

죄송합니다. 위의'controllerProvider'에'allowGlobals'을 설정하지 않은 한, **는 **에서 ** 필요합니다. 주석에'$ scope.name'이 있는데, 이것은 – Phil

1

을 앱을

var myApp = angular.module('myApp',[]); 

을 정의하고 컨트롤러

에 $ 범위를 통과해야
var Ctrl = function($scope) { 

다음은 fiddl입니다. 변경 사항에 대한 링크 : http://jsfiddle.net/fxk7mtb7/

+0

아마 정교 할 수 있을까요? 이러한 일이 언제 이루어지는가? http://jsfiddle.net/fxk7mtb7/ –

+0

JSFiddle에서 작동하지만 해결책을 시도했지만 여전히 동일한 오류가 발생합니다. – Kincsem

+0

JSFiddle에서 동일한 실수를했고 Angular 1.2를 사용했습니다. 여기에 (깨졌습니다) 1.3 - http://jsfiddle.net/fxk7mtb7/1/ – Phil

관련 문제