Javascript 当将angularjs控制器拉出到不同的文件中时,如果我的模块没有';你不能先装吗?
当我的模块未加载时,如何才能正确加载 假设我有几十个控制器,我想把每个控制器分成它自己的文件。对于本例,假设我有一个控制器位于一个文件中:controller.jsJavascript 当将angularjs控制器拉出到不同的文件中时,如果我的模块没有';你不能先装吗?,javascript,angularjs,latency,script-tag,angularjs-module,Javascript,Angularjs,Latency,Script Tag,Angularjs Module,当我的模块未加载时,如何才能正确加载 假设我有几十个控制器,我想把每个控制器分成它自己的文件。对于本例,假设我有一个控制器位于一个文件中:controller.js angular.module('pubmodule').controller( 'CreatePostController', ['$stateParams', '$scope','$http' ,function($stateParams, $scope, $http) { }]); 我有一个模块可以从中加载:b
angular.module('pubmodule').controller( 'CreatePostController', ['$stateParams', '$scope','$http' ,function($stateParams, $scope, $http) {
}]);
我有一个模块可以从中加载:base.js
angular.module( 'pubmodule', ['ngSanitize', 'ionic'] )
.run( function ( $rootScope, $state, $stateParams, PostTimelineService) {} );
我从html中加载以下每个文件:
<script type="text/javascript" src="controller.js"></script>
<script type="text/javascript" src="base.js"></script>
<>我紧跟着,但是这个问题没有考虑加载顺序,这是我感兴趣的话题。如何将控制器分成不同的文件并考虑模块加载的顺序?只需更改html加载顺序即可解决此错误,但我担心在考虑延迟时无法控制此问题。对controller.js的请求可能会首先返回。我的示例是base.js中controller.js之后出现的module.run() 另请注意,如果base.js确实是base,那么它应该位于controller.js的顶部 尽管如此,请尝试在第一个js中添加您的.run。但也要确保在此之前,它的所有依赖项都是可用的。您的PostTineLineService 按照运行顺序检查AngularJS文档及其依赖项
延迟与加载顺序无关。浏览器仍将加载html中声明的文件。因此,只要先引用base.js文件,就可以了。浏览器将按代码出现的顺序执行代码。所以,如果控制器是在base之后声明的,但首先关闭,则在base完成之前不会对其进行计算。延迟与加载顺序无关。浏览器仍将加载html中声明的文件。因此,只要先引用base.js文件,就可以了。浏览器将按代码出现的顺序执行代码。所以,如果控制器是在base之后声明的,但首先关闭,则在base完成之前不会对其进行计算。当使用script标记(不带async)时,它将按html中的显示顺序加载。延迟不会导致脚本失去同步。好问题。我自己正在为一个项目处理requireJS,如何排序和组合Javascript文件变得很棘手。另一方面,我认为我们的编程模型不应该依赖于这些语义,使用Grunt/Yeoman工作流结合所有应用程序角度代码是最好的选择。@HattanShobokshi如果您回答上述问题,我将接受它。我忘了这个。谢谢,我把它作为答案贴了出来。
Error: [ng:areq] Argument 'CreatePostController' is not a function, got undefined