AngularJS:来自单独的.js文件的注册控制器

Jad*_* L. 2 model-view-controller angularjs ng-controller

我是AngularJS的新手,正在使用plnkr.co学习如何使用angular。我在注册一个控制器时遇到一些困难,该控制器存储在与模块初始化位置不同的.js文件中。谁能告诉我以下原因为何不起作用?

index.html文件

<!DOCTYPE html>
<html ng-app="plunker">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <script>
    document.write('<base href="' + document.location + '" />');
  </script>
  <link rel="stylesheet" href="style.css" />
  <script data-require="angular.js@1.4.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js" data-semver="1.4.6"></script>
  <script src="app.js"></script>
  <script scr="mainCtrl.js"></script>
</head>

<body ng-controller="MainCtrl">
  <p>Hello {{name}}!</p>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

app.js文件

angular.module('plunker', []);
Run Code Online (Sandbox Code Playgroud)

mainCtrl.js文件

angular.module('plunker')
  .controller('MainCtrl', ['$scope', function($scope) {
    $scope.name = 'GitHub';
  }]);
Run Code Online (Sandbox Code Playgroud)

对我来说,这产生一个参数'MainCtrl'不是一个函数,未定义。

Mic*_*zos 5

更换

<script scr="mainCtrl.js"></script>
Run Code Online (Sandbox Code Playgroud)

<script src="mainCtrl.js"></script>
Run Code Online (Sandbox Code Playgroud)

由于输入错误(scr而不是src),MainCtrl未加载源文件保存,因此MainCtrl未定义。

  • 错字是投票以结束问题的充分理由 (2认同)