Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从未调用AngularJS控制器函数_Javascript_Angularjs - Fatal编程技术网

Javascript 从未调用AngularJS控制器函数

Javascript 从未调用AngularJS控制器函数,javascript,angularjs,Javascript,Angularjs,我的angularjs控制器函数从未被调用。我看到了我的源代码中包含的所有js文件,但它从来没有影响到我的控制器的初始化。这个代码有什么问题 eventListCtrl.js: eventsApp.controller('eventListCtrl', ['$scope', function ($scope) { // this code is never called alert('controller initializing'); $scope.name = "Te

我的angularjs控制器函数从未被调用。我看到了我的源代码中包含的所有js文件,但它从来没有影响到我的控制器的初始化。这个代码有什么问题

eventListCtrl.js:

eventsApp.controller('eventListCtrl', ['$scope', function ($scope) {
    // this code is never called
    alert('controller initializing');
    $scope.name = "Test";
}]);
app.js:

'use strict';

var eventsApp = angular.module('eventsApp', []);
Index.cshtml:

<div ng-controller="eventListCtrl">
    <div class="row">
        <div class="spann11">
            <h2>{{name}}</h2>
        </div>
    </div>
</div>

<script src="/scripts/vendor/angular.js"></script>
<script src="/scripts/app.js"></script>
<script src="/scripts/controllers/eventListCtrl.js"></script>

{{name}}
胡乱猜测:

angular.module('eventsApp').controller('eventListCtrl', ['$scope', function ($scope) {
    // this code is never called
    alert('controller initializing');
    $scope.name = "Test";
}]);
在控制器文件中?

您需要执行此操作

<html ng-app="eventsApp">


所以你实际上激活了模块

我想在这里发布我的问题/解决方案,以防有人和我做同样的事情

<div ng-controller="coolCtrl" ng-if="VAR">

我试图在未创建的元素上初始化控制器(因为
ng if=“var”

facepalm


{{name}}

这应该可以解决问题

您是否有
ng app=“eventsApp”
任何地方?您是否在控制器中重新创建了
eventsApp
?同意此评论。如果您忘记了,请将
ng应用程序
放在
之外。这正是我第一次看到问题时的想法。AngularJS是一个非常好的试用版。这没有什么区别,这和他之前所做的完全一样。
模块上的API非常糟糕。添加第二个参数会使其成为初始值设定项,人们会感到困惑。@Connor not true。除非他将
eventsApp
global设置为非常糟糕的,在这种情况下,答案仍然是建议最佳做法。@JoeMinichino它是全局的,如帖子中所示:)而且,在生产中,它很可能会连接您的文件,而将名称空间设置为globalDoh并不是一种坏做法,我不确定我是如何错过了这一点!非常感谢。我犯了同样的错误,在控制器包装上添加了ng show:)
<html ng-app="eventsApp">
<div ng-controller="eventListCtrl">
    <div class="row">
        <div class="spann11">
            <h2>{{name}}</h2>
        </div>
    </div>
</div>

<script src="/scripts/vendor/angular.js"></script>
<script src="/scripts/app.js"></script>
<script src="/scripts/controllers/eventListCtrl.js"></script>
</html>