我遇到与how-to-create-separate-angularjs-controller-files相同的问题,但似乎有点复杂:我想将模块声明和“MAIN-Controller”分离成单独的文件,比如app.js和appCtrl.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'不是函数,未定义”不幸的是,后者是包含角度和模块的推荐方法......
这个问题有解决方案吗?提前谢谢!
答案 0 :(得分:0)
试试这个:
app.js
var app = angular.module('app', []);
appCtrl.js:
app.controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };
}]);
答案 1 :(得分:0)
我会使用角度模块/注入功能:
app.js包含:
angular.module('app', ['app.controllers']);
appCtrl.js包含:
angular.module('app.controllers', [])
.controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };
}]);