如何在Angular 5中动态读取外部模板

时间:2018-04-26 01:54:05

标签: html angular dynamic angular2-template

向社区致意

通常在Angular 5中,当我使用外部模板时,我从@Component获得以下格式,它可以正常工作

@Component({
selector: 'app-home',
templateUrl: '../tpl/default/home.html',
styleUrls: ['./home.component.css']
})

我需要的是,根据从api获得的数据,我查找html的文件夹的名称是动态的

我尝试了几种动态传递路由的方法,但它总是返回以下错误:

  

编译失败。   ./src/app/home/home.component.ts   找不到模块:错误:无法解析' ./ {{template}}'在&C; \ angular \ src \ app \ home'

有什么方法可以解决这个问题吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

由于角度AOT编译,您无法动态更新代码以角度加载新模板。

解决您的问题: 您可以为每个视图创建dynamic components,并为每个视图创建包含逻辑的基本控制器。您的基本控制器可以由每个组件控制器单独扩展。所以现在你的组件可以有他们的逻辑和基本控制器逻辑。使用angular routing在运行时动态更改视图。