Angularjs:如何为主模块和主控制器创建独立的文件



我有相同的问题,在如何创建-分离-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" };
}]);

相关内容

  • 没有找到相关文章

最新更新