Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Angularjs:如何为主模块和主控制器创建单独的文件_Angularjs_File_Module_Controller_Modularity - Fatal编程技术网

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

Angularjs:如何为主模块和主控制器创建单独的文件,angularjs,file,module,controller,modularity,Angularjs,File,Module,Controller,Modularity,我遇到了与中相同的问题,但似乎有点复杂:我想将模块声明和“主控制器”分离到单独的文件中,比如app.js和appCtrl.js app.js包含: angular.module('app', []); angular.module('app').controller('appCtrl', function($scope){ $scope.model = { MyValue : "coucou" }; }]); angular.module('app', ['app.controlle

我遇到了与中相同的问题,但似乎有点复杂:我想将模块声明和“主控制器”分离到单独的文件中,比如app.js和appCtrl.js

app.js包含:

angular.module('app', []);
angular.module('app').controller('appCtrl', function($scope){
    $scope.model = { MyValue : "coucou" };
}]);
angular.module('app', ['app.controllers']);
appCtrl.js包含:

angular.module('app', []);
angular.module('app').controller('appCtrl', function($scope){
    $scope.model = { MyValue : "coucou" };
}]);
angular.module('app', ['app.controllers']);
以下代码正常:

<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>

My value={{model.MyValue}}
但以下代码不正确:

<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>

My value={{model.MyValue}}
Angular抛出错误:“[ng:areq]参数'appCtrl'不是函数,未定义”不幸的是,后者是包含Angular和模块的推荐方式

这个问题有解决办法吗?提前谢谢你

试试这个:

app.js

var app = angular.module('app', []);
appCtrl.js:

app.controller('appCtrl', function($scope){
$scope.model = { MyValue : "coucou" };

}]))

我将使用角度模块/注入功能:

app.js包含:

angular.module('app', []);
angular.module('app').controller('appCtrl', function($scope){
    $scope.model = { MyValue : "coucou" };
}]);
angular.module('app', ['app.controllers']);
appCtrl.js包含:

angular.module('app.controllers', [])
    .controller('appCtrl', function($scope){
        $scope.model = { MyValue : "coucou" };
}]);

这正是我所做的!但是如果语句位于index.html文件的底部,则会失败。谢谢,问题实际上是Chrome中的自动关闭脚本标记
,正如[这个其他stackoverflow问题][1]中所述,该标记存在缺陷。[1] :谢谢,问题实际上是Chrome中的自动关闭脚本标记
,正如[另一个stackoverflow问题][1]中所述。[1]: