Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
现有ASP.NET应用程序中的集成要求JS_Asp.net_Angularjs_Requirejs - Fatal编程技术网

现有ASP.NET应用程序中的集成要求JS

现有ASP.NET应用程序中的集成要求JS,asp.net,angularjs,requirejs,Asp.net,Angularjs,Requirejs,我的任务是将RequireJS集成到已有AngularJS代码的大型ASP.NET应用程序中 该页面已在母版页中使用ng app='xxx'引导AngularJS。我正在尝试创建一个新的控制器,它将由RequireJS加载。 在HTML中,我定义新的div如下 <div ng-controller='someConroller'></div> AngularJS启动后,RequireJS加载了someConroller.js,因此我得到以下错误: 参数'someCo

我的任务是将RequireJS集成到已有AngularJS代码的大型ASP.NET应用程序中

该页面已在母版页中使用ng app='xxx'引导AngularJS。我正在尝试创建一个新的控制器,它将由RequireJS加载。 在HTML中,我定义新的div如下

<div ng-controller='someConroller'></div>

AngularJS启动后,RequireJS加载了someConroller.js,因此我得到以下错误:

参数'someConroller'不是函数,未定义

据我所知,问题是AngularJS已启动,HTML已加载,但“someController”仍未加载

如何使AngularJS等待控制器完成加载

请注意,我无法集成路由


请告知。

只有在加载someContoller时才需要引导项目,因此请执行以下操作:

require(['someController'], function(){
    angular.bootstrap(document, ['xxx']);
});

在主文件中,删除母版页中的
ng app='xxx'
。这需要在引导项目之前加载someController。

因为有很多遗留代码包括其他AngularJS代码,所以当加载someController时,我无法引导AngularJS。AngularJS使用已加载的,如果没有加载,则无法实例化控制器。由于您依赖于
someController
加载,这是我能想到的唯一解决方案。。这就是requirejs的作用——管理依赖关系、提供模块化实体等等。在这种情况下,您的依赖项是
someController
,因此任何代码执行都只能在加载时执行。我建议您要么按旧方法执行,要么按requirejs方法执行。同时使用这两种方法似乎对我的经验不起作用。