Angular 4动态加载templateURL

时间:2018-04-02 13:07:51

标签: angular typescript

我在.net框架中有一个小部件,我想在角度页面中调用它,但我不想使用iframe。

为此目的我用razor引擎和返回计划HTML编译此页面并在角度项目中写入html我想在角度4应用程序中显示此页面请帮助我以任何方式显示此类型ho html页面显示在我的角4应用 我想将动态创建的html页面显示为角度组件enter image description here 这是我尝试创建动态templateUrl

的代码

这里我称之为html模板enter image description here 构建角度应用程序moduleId类型的错误:找不到module.id enter image description here 当我删除moduleId时:module.id显示warring enter image description here 如何解决这个问题

1 个答案:

答案 0 :(得分:1)

试试这个:

ngAfterViewInit() {

    const template = '<span>generated on the fly: {{name}}</span>';

    const tmpCmp = Component({ template: template })(class {
    });
    const tmpModule = NgModule({ declarations: [tmpCmp] })(class {
    });

   this.compiler.compileModuleAndAllComponentsAsync(tmpModule)
      .then((factories) => {
        const f = factories.componentFactories[0];

        const cmpRef = this.vc.createComponent(f);

        cmpRef.instance.name = 'dynamic';
      }); 
  }