0

首先对不起我的英语。

我刚从使用 MEAN(mongo, express, angular, node) 的角度开始,但我遇到了问题。

当我创建一些简单的控制器时,我总是会出错

 Argument 'testctrl' is not a function, got undefined

我已经搜索并尝试了几乎所有关于 stackoverflow 的建议,但没有一个有帮助:(

这是我的testctrl

angular.module('mean.system').controller('testctrl', ['$scope', 'Global', function ($scope, Global) {
$scope.global = Global;
$scope.count = 4;
}]);

并查看 index.html

<section data-ng-controller="IndexController">
<h1>This is the home view</h1>
    <div data-ng-controller="testctrl">{{count}}</div>
</section>

我正在使用带有工作视图的工作控制器“IndexController”。

我不知道我做错了什么。

编辑:

我找到了!我的问题很简单,我没有将控制器文件附加到正文。我的意思是,我应该添加

<script type="text/javascript" src="[controller_path]"></script>

这足以正常工作。

希望这也对某人有所帮助。

4

2 回答 2

0

您的代码看起来不错,我发布到 Fiddle并没有得到跟踪错误。无论如何,我添加了虚拟服务来模拟您的代码。我会玩 Angular 版本。在 1.0.2 和 1.1.1 上测试

angular.module('mean.system', [])
.controller('testctrl', ['$scope', 'Global', function ($scope, Global) {
    $scope.global = Global;
    $scope.count = 4;
}])
.factory("Global", function () { // dummy service
  var number = 1;
  return number;
});



function IndexController($scope, Global) {
        $scope.Global = Global;
}
于 2013-10-18T09:37:09.037 回答
0

我遇到了同样的问题,然后我意识到您必须将脚本添加到 footer.jade,回想起来似乎很明显。

于 2013-12-26T02:15:17.233 回答