我是新來的角,但我有問題建立我的第一個應用程序。角控制器的定義 - undefined是不是一個函數
我在app.js下面的代碼:
// Declare app level module which depends on filters, and services
angular.module('DiagsDashboard', ['DiagsDashboard.filters', 'DiagsDashboard.services', 'DiagsDashboard.directives', 'DiagsDashboard.controllers']);
而且controller.js:
'use strict';
angular.module('DiagsDashboard.controllers', [])
.controller('EventCtrl', ['$scope', function (scope) {
scope.refreshButtonClicked = function() {
console.log("clicked!");
}
}])
然而,當我穿上angular.module一個突破點,控制器功能沒有定義。
標記(MVC剃刀):
@{
Layout = "~/Views/Shared/_LayoutAngular.cshtml";
}
<div ng-app>
<div ng-controller="EventCtrl">
<button ng-click="refreshButtonClicked">Refresh</button>
</div>
</div>
其產生以下HTML:
<!doctype html>
<html ng-app="DiagsDashboard">
<head>
<meta charset="utf-8">
<title>My AngularJS App</title>
<link rel="stylesheet" href="/css/app.css" />
</head>
<body>
<ul class="menu">
<li><a href="#/view1">view1</a></li>
<li><a href="#/view2">view2</a></li>
</ul>
<div ng-controller="EventCtrl">
<button ng-click="refreshButtonClicked()">Refresh</button>
</div>
<div>Angular seed app: v<span app-version></span></div>
<script src="../lib/angular/angular.js"></script>
<script src="../js/app.js"></script>
<script src="../js/services.js"></script>
<script src="../js/controllers.js"></script>
<script src="../js/filters.js"></script>
<script src="../js/directives.js"></script>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Chrome","requestId":"9f508d482b7a4ca2aca44a79b147fcec"}
</script>
<script type="text/javascript" src="http://localhost:13686/72a9c7832dd448f9b586b7c0f340112b/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
</html>
在鉻顯影劑控制檯顯示以下內容:
Uncaught TypeError: undefined is not a function controllers.js:4
Error: Argument 'EventCtrl' is not a function, got undefined
at assertArg (http://localhost:63599/diagsdashboard/lib/angular/angular.js:954:17)
at assertArgFn (http://localhost:63599/diagsdashboard/lib/angular/angular.js:962:3)
at http://localhost:63599/diagsdashboard/lib/angular/angular.js:4699:9
at http://localhost:63599/diagsdashboard/lib/angular/angular.js:4306:17
at forEach (http://localhost:63599/diagsdashboard/lib/angular/angular.js:128:18)
at compositeLinkFn (http://localhost:63599/diagsdashboard/lib/angular/angular.js:4285:11)
at linkingFn (http://localhost:63599/diagsdashboard/lib/angular/angular.js:4002:14)
at linkingFn (http://localhost:63599/diagsdashboard/lib/angular/angular.js:4005:12)
at linkingFn (http://localhost:63599/diagsdashboard/lib/angular/angular.js:4005:12)
at http://localhost:63599/diagsdashboard/lib/angular/angular.js:3905:24
你能否加上你的標記? – thsorens
添加了標記並由benek提出了改進建議。仍然沒有運氣,控制器功能仍未定義。 – jaffa
嘗試將您的ng-app設置爲您的模塊名稱 – thsorens