Javascript 访问不同.js文件中定义的角度模块

Javascript 访问不同.js文件中定义的角度模块,javascript,angularjs,asp.net-mvc,Javascript,Angularjs,Asp.net Mvc,如何访问在不同的.js文件中定义的角度模块 背景: 我开始了angular js编程(在ASPNET MVC应用程序中)入门指南 为了清晰起见,我在一个名为AspnetMvcAngular.jsfile的文件中创建了一个角度模块 var AspnetMvcAngularJs=angular.module('AspnetMvcAngularJs',[]) 然后,我在另一个文件(Scripts/Controllers/HomeController.js)中定义了角度控制器代码 AspnetMvcAn

如何访问在不同的.js文件中定义的角度模块

背景:

我开始了angular js编程(在ASPNET MVC应用程序中)入门指南

为了清晰起见,我在一个名为
AspnetMvcAngular.js
file的文件中创建了一个角度模块

var AspnetMvcAngularJs=angular.module('AspnetMvcAngularJs',[])

然后,我在另一个文件(Scripts/Controllers/HomeController.js)中定义了角度控制器代码

AspnetMvcAngularJs.controller('HomeController',['$scope',函数($scope){
$scope.greeting='Hola!';
}]);

当应用程序运行时,它似乎无法识别
AspnetMvcAngularJs

有人指出我做错了什么吗

编辑: 虽然下面的答案很好,但我注意到了一些至关重要的问题

访问文件的顺序很重要

例如,我在ASP.NET-MVC中使用了
捆绑包
,顺序如下:

bundles.Add(新脚本包(“~/bundles/definitions”)。
包括(“~/Scripts/AspnetMvcAngularJs.js”)。
IncludeDirectory(“~/Scripts/Controllers”,“*.js”)

这首先定义包含角度模块的
*.js
文件,然后包括其他
*.js
控制器文件


我犯的错误是先调用控制器文件。因此运行时抛出了一个错误,指定没有可用的模块

您可以使用相同的
angular.module
语法访问已定义的模块,但无需指定模块的依赖项。在本例中,您将返回定义的模块,然后您可以使用它创建控制器或其他角度组件

angular.module('AspnetMvcAngularJs').controller('HomeController',['$scope', function ($scope) {
    $scope.greeting = 'Hola!';
}]);)
以下是一段引用自:

创建与检索

请注意,使用
angular.module('myModule',[])
将创建模块
myModule
,并覆盖任何现有模块 命名为
myModule

使用
angular.module('myModule')
检索现有的 模块

无论使用创建语法还是检索语法,
angular.module()
返回的是
angular.module
类型的模块,其中方法
controller()、service()、directive()、value()、factory()
等都返回模块本身。因此,可以按如下方式将它们链接在一起:

angular.module('myModule', []).
     value('a', 123).
     controller( 'myController', function( $scope ) {...})
     factory('a', function() { return 123; }).
     directive('directiveName', ...).
     filter('filterName', ...);
您还可以将模块分配给变量,然后稍后通过变量访问模块:

var myModule = angular.module('myModule', []);
// add some directives and services
myModule.service('myService', ...);
myModule.directive('myDirective', ...);

模块创建代码和模块访问代码可以放在单独的文件中

我们不能将其分成两个文件并放入吗?您可以分成两个文件。此:
angular.module('AspnetMvcAngularJs',[])
将创建一个模块,而此:
angular.module('AspnetMvcAngularJs')
将返回定义的模块返回答案。谢谢。:)