我正在学习AngularJS,并且在实现控制器时遇到了这个错误。
有人可以指出什么是错的吗? (除非某些功能已被弃用,否则完全按照教程中的说明进行操作?)
我收到以下错误:
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 :(得分:6)
据我所知,您需要使用module.controller方法定义控制器。例如,将您的应用命名为myApp
<html ng-app="myApp">
和js部分将是:
angular.module('myApp', [])
.controller('Ctrl', ['$scope', function($scope) {
$scope.name = "Noob";
$scope.age = "21";
}]);
答案 1 :(得分:1)
您需要定义自己的应用
var myApp = angular.module('myApp',[]);
并将$ scope传递给您的控制器
var Ctrl = function($scope) {
以下是这些变化的小提琴链接:http://jsfiddle.net/fxk7mtb7/