错误:[ng:areq] 参数“Ctrl”不是函数

Posted

技术标签:

【中文标题】错误:[ng:areq] 参数“Ctrl”不是函数【英文标题】:Error: [ng:areq] Argument 'Ctrl' is not a function 【发布时间】:2017-04-24 14:58:43 【问题描述】:

我是使用 angularJs 的新手。我正在关注这篇文章asp.net-angularjs 然后我遇到了这样的问题:

entryCtrl.js

(function (app) 
  'use strict';
  app.controller('entryCtrl', entryCtrl);
  entryCtrl.$inject = ['$scope'];
  function entryCtrl($scope) 
    $scope.pageClass = 'page-entry';
  
)(angular.module('model'));

app.js

(function () 
  'use strict';
  angular.module('model', ['common.core', 'common.ui'])
    .config(config)
    .run(run);

  config.$inject = ['$routeProvider'];
  function config($routeProvider) 
    $routeProvider
        .when("/", 
            templateUrl: "scripts/spa/home/index.html",
            controller: "indexCtrl"
        )
        .when("/entry", 
            templateUrl: "scripts/spa/entry/entry.html",
            controller: "entryCtrl"
        );
  

然后出现[ng:areq] Argument 'entryCtrl' is not a function, got undefined angular.js:11707之类的错误

但在 indexCtrl.js 中没有错误。 indexCtrl hv 与此相同。我想念什么?

【问题讨论】:

什么是角度版本 就像我在那篇文章中使用的那样。我使用所有捆绑供应商 可能你没有把它们排好 @Sajeetharan 我不知道你是什么意思。对不起 请给我一些样品:( 【参考方案1】:

您需要将模块声明为

var app = angular.module('model', ['common.core', 'common.ui'])
app.config(config)
app.run(run);

还要确保您已按顺序放置脚本。

【讨论】:

以上是关于错误:[ng:areq] 参数“Ctrl”不是函数的主要内容,如果未能解决你的问题,请参考以下文章

angularjs [ng:areq] 参数 'fn' 不是函数,得到字符串

错误:来自角度控制器的 [ng:areq]

angular.min.js:118 Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?

使用 Ionic + TypeScript + Angular 的混合应用程序

在 Yeoman 中使用多个 Angular 控制器

Vue箭头函数