如何用IIFE定义angularjs中的控制器

时间:2016-07-15 12:08:26

标签: javascript angularjs

我在根目录/app.js

中的app.js中有以下代码
angular.module("ngClassifieds",[])
 .controller("classifiedsCtrl", function($scope) {
   $scope.name = "shekhar";
 });

目前这个工作正常,然后我将控制器移到新目录components/classifiedCtrl.js中,就像这样

下面的

是我的app.js文件

angular.module("ngClassifieds",[]);

下面是我的控制器里面的components / classifiedCtrl.js

(function () {

  "use strict";

   angular.module("ngClassifieds")
     .controller("classifiedsCtrl", function($scope) {
     $scope.name = "shekhar";
   });

}) ();

现在它给了我错误Error: [ng:areq] Argument 'classifiedsCtrl' is not a function, got undefined

我正在使用角度版1.5.7

下面的

是我的index.html文件

<!DOCTYPE html>
<html>
  <head>
    <title>ngClassifieds</title>
  </head>
  <body ng-app = "ngClassifieds" ng-controller="classifiedsCtrl">

    <h1>{{name}}</h1>

    <script src="node_modules/angular/angular.js"></script>
    <script src="scripts/app.js"></script>
  </body>

</html>

1 个答案:

答案 0 :(得分:1)

您需要将控制器文件包含在 app.js

下方
<script src="scripts/app.js"></script>
<script src="scripts/components/classifiedCtrl.js"></script>