Javascript 访问不同.js文件中定义的角度模块
如何访问在不同的.js文件中定义的角度模块 背景: 我开始了angular js编程(在ASPNET MVC应用程序中)入门指南 为了清晰起见,我在一个名为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
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')
将返回定义的模块返回答案。谢谢。:)