Dynamic 我怎样才能使用;SystemJsNgModuleLoader“;在angular 2中,是否将动态模块导入应用程序?

Dynamic 我怎样才能使用;SystemJsNgModuleLoader“;在angular 2中,是否将动态模块导入应用程序?,dynamic,angular,angular-module,Dynamic,Angular,Angular Module,在angular网站中有新的api 有人知道我如何使用此api在应用程序中加载动态模块吗?我知道你会找到解决方案,但我提供的解决方案仅供其他人参考。代码已经被很好地注释过,并且可以很好地理解 createComponent(fileName, componentName){ let injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector); // 1. Create mod

在angular网站中有新的api


有人知道我如何使用此api在应用程序中加载动态模块吗?

我知道你会找到解决方案,但我提供的解决方案仅供其他人参考。代码已经被很好地注释过,并且可以很好地理解

createComponent(fileName, componentName){
    let injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);
    // 1. Create module loader
    let loader = new SystemJsNgModuleLoader(this.compiler);
    loader.load(fileName).then((nmf:NgModuleFactory<any>)=>{
        // 2. create NgModuleRef
        let ngmRef = nmf.create(injector);
        // 3. Create component factory
        let cmpFactory = ngmRef.componentFactoryResolver.resolveComponentFactory( componentName );
        // 4. Create the component
        let componentRef = this.span.createComponent(cmpFactory,0,injector,[]);
        // 5. Init the component name field.
        componentRef.instance.name = "Some Name";
        // 6. Refresh the component area.
        componentRef.changeDetectorRef.detectChanges();
        componentRef.onDestroy(()=> {
            componentRef.changeDetectorRef.detach();
        });
    });
}
createComponent(文件名、组件名){
让injector=ResolvedProviders中的ReflectiveInjector.fromResolvedProviders([],this.vcRef.parentInjector);
//1.创建模块加载器
让loader=newsystemjsngmoduleloader(this.compiler);

loader.load(fileName).then((nmf:NgModuleFactory.

我发现了几个使用SystemJsNgModuleLoader的示例

Angular2+从路径动态加载模块和组件:

Angular2+SystemJsNgModuleLoader测试:

在运行时动态导入模块:

延迟加载外部库的另一种方法:

从节点_模块延迟加载功能库模块:

延迟加载角度库的原因和方法:

我希望这会有帮助

谢谢,
Jignesh Raval

您好,我面临着同样的问题。我可以问您文件名的值是多少吗?