我有相同的问题,在如何创建-分离-angularjs-controller-files,但它似乎有点复杂:我想分开我的模块声明和"主控制器"到单独的文件,说app.js和apptrl .js。
app.js包含:
angular.module('app', []);
appCtrl.js包含:
angular.module('app').controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };
}]);
下面的代码可以:
<html>
<head>
<script src="bower_components/angular/angular.js"></script>
<script src="scripts/app.js"/>
<script src="scripts/ctrl/appCtrl.js"/>
</head>
<body ng-app="app" ng-controller="appCtrl">
My value = {{model.MyValue}}
</body>
</html>
但是下面的代码是不可以的:
<html>
<head>
</head>
<body ng-app="app" ng-controller="appCtrl">
My value = {{model.MyValue}}
<script src="bower_components/angular/angular.js"></script>
<script src="scripts/app.js"/>
<script src="scripts/ctrl/appCtrl.js"/>
</body>
</html>
Angular抛出错误:"[ng:areq] Argument 'appCtrl'不是一个函数,得到了undefined"不幸的是,后者是包含Angular和模块的推荐方式…
这个问题有解决办法吗?提前感谢!
试试这个:
app.js
var app = angular.module('app', []);
appCtrl.js:
app.controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };
}]);
我会使用angular模块/注入功能:
app.js包含:
angular.module('app', ['app.controllers']);
appCtrl.js包含:
angular.module('app.controllers', [])
.controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };
}]);