Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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
Angular 在延迟加载的模块中,我可以从Valor软件&x27;降级ModalService吗;什么是ngx引导?_Angular_Lazy Loading_Angular Hybrid_Ngx Bootstrap Modal - Fatal编程技术网

Angular 在延迟加载的模块中,我可以从Valor软件&x27;降级ModalService吗;什么是ngx引导?

Angular 在延迟加载的模块中,我可以从Valor软件&x27;降级ModalService吗;什么是ngx引导?,angular,lazy-loading,angular-hybrid,ngx-bootstrap-modal,Angular,Lazy Loading,Angular Hybrid,Ngx Bootstrap Modal,我有一个非常大的混合角度应用程序;最初的应用程序是angularjs 1.6.8,其余的是angularjs 7.2.15。我们正在努力将整个应用程序转换为Angular,但进展缓慢。我们的应用程序还依赖于angular ui引导(2.5.0)/ngx引导(3.1.3) 除了登录页之外,我们的每个重要视图都是延迟加载的。我目前正在尝试转换其中一个视图 我们的应用程序模块导入ModalModule.forRoot()。在我尝试在降级的服务中访问它之前,它工作得很好。例如,我有一个名为“Accoun

我有一个非常大的混合角度应用程序;最初的应用程序是angularjs 1.6.8,其余的是angularjs 7.2.15。我们正在努力将整个应用程序转换为Angular,但进展缓慢。我们的应用程序还依赖于angular ui引导(2.5.0)/ngx引导(3.1.3)

除了登录页之外,我们的每个重要视图都是延迟加载的。我目前正在尝试转换其中一个视图

我们的应用程序模块导入
ModalModule.forRoot()
。在我尝试在降级的服务中访问它之前,它工作得很好。例如,我有一个名为“Account”的路由,其服务名为
AccountModalService
,并创建了此降级:

从“角度”导入角度;
从“@angular/upgrade/static”导入{gradeInjectable};
从“./accountModal.service”导入{AccountModalService as service};
angular.module('account').factory('AccountModalService',降级可注入(服务));
现在,从我的angularjs
AccountPage
中,我应该能够打开这样一个模式

const accountPage={
控制器:AccountPageCtrl,
模板:`测试`
};
AccountPageCtrl.$inject=[
“AccountModalService”
];
函数AccountPageCtrl(AccountModalService){
this.test=功能测试(){
AccountModalService.openTestModal();//这将打开我的测试模式
};
}
有棱角的
模块(“账户”)。
组件(“accountPage”,accountPage);
我知道,当从angularjs组件调用
openTestModal
方法时,模式工作,但是当我尝试从angularjs组件启动它时。我得到了错误

angular.js:14800 Error: StaticInjectorError(AppModule)[AccountModalService]: 
  StaticInjectorError(Platform: core)[AccountModalService]: 
    NullInjectorError: No provider for AccountModalService!
如果我将
AccountModalService
更改为存在于根注入器上,如
@Injectable({provideIn:'root'})
,我会收到一个错误,指示注入器找不到模式要显示的组件:

angular.js:14800 Error: No component factory found for TestModalComponent. Did you add it to @NgModule.entryComponents?
    at noComponentFactoryError (core.js:9877)
    ...
TestModalComponent
是延迟加载的
AccountModule
entryComponent
,该模块导入我急切加载的公共模块。但可以肯定的是,
TestModalComponent
不是
AppModule
entryComponent

如果我将测试模式组件和此服务移动到已加载的代码中,它将正确打开模式。然而,这只是使急切加载的模块成为一个整体的第一步。我不想继续使用这种模式,因为它使延迟加载的路由变得毫无价值


有没有办法降级使用ngx引导模式
BsModalService
在延迟加载路由中显示angularjs代码模式的angular服务?有没有人成功地做了类似的事情,愿意分享如何做的?

你有没有想过这一点?我有一个类似的情况,我想将降级的组件/服务移动到延迟加载的模块,它会停止工作,出现与您列出的错误相同的错误。简短的回答是“否”-我只使用了我的原始模式,但随后将模式的所有内容升级到角度,直到组件启动模式,模态的含量为9。所以基本上,我把它踢了出去。你知道吗?我有一个类似的情况,我想将降级的组件/服务移动到延迟加载的模块,它会停止工作,出现与您列出的错误相同的错误。简短的回答是“否”-我只使用了我的原始模式,但随后将模式的所有内容升级到角度,直到组件启动模式,模态的含量为9。所以基本上,我把它踢了出去。